分类目录归档:Work

Notepad++和GCC搭建C++IDE的方法,不用必须设置系统变量

编译:cmd /k D:Dev-Cppbing++.exe -g -W -Wall -o
"$(CURRENT_DIRECTORY)"$(NAME_PART).exe "$(FULL_CURRENT_PATH)" &
PAUSE & EXIT

运行:cmd /k cd "$(CURRENT_DIRECTORY)" & "$(CURRENT_DIRECTORY)"$(NAME_PART).exe & PAUSE & EXIT

调试:cmd /k cd "$(CURRENT_DIRECTORY)" & D:Dev-Cppbingdb.exe "$(CURRENT_DIRECTORY)"$(NAME_PART).exe

删除:cmd /k cd "$(CURRENT_DIRECTORY)" & del "$(CURRENT_DIRECTORY)"$(NAME_PART).exe & PAUSE & EXIT

cmd /k cd "$(CURRENT_DIRECTORY)" & _run.exe $(FULL_CURRENT_PATH) $(CURRENT_DIRECTORY) $(NAME_PART)

//F6 里面加

// run@.cpp

SET g++ = C:Dev-Cppbing++.exe

SET obj = $(CURRENT_DIRECTORY)$(NAME_PART)

"$(g++)" -c "$(FULL_CURRENT_PATH)" -o "$(obj).o"

"$(g++)" "$(obj).o" -o "$(obj).exe"

NPP_RUN "$(obj).exe"

UNSET obj

UNSET g++

继续阅读

发表在 Work | 留下评论

Dijkstra 算法的基本思路

Normal
0

7.8 磅
0
2

false
false
false

EN-US
ZH-CN
X-NONE

 

假设每个点都有一对标号

(

d

j

,

p

j

) ,

其中

d

j

是从起源点

s

到点

j

的最短路径的长度

(

从顶点到其本身的最短路径是零路

(

没有弧的路

) ,

其长度等于零

) ;

p

j

则是从

s

j

的最短路径中

j

点的前一点。

求解从起源点

s

到点

j

的最短路径算法的基本过程如下

:

1)

初始化。

起源点设置为

:

d

s

= 0,

p

s

为空

;

② 所有其他点

:

d

i

=

,

p

i

= ?;

③ 标记起源

s

,

k

=

s

,

其他所有点设为未标记的。

2)

检验从所有已标记的点

k

到其直接连接的未标记的点

j

的距离

,

并设置

:

d

j

= min[

d

j

,

d

k

+

l

kj

]

式中

,

l

kj

是从点

k

j

的直接连接距离。

3)

选取下一个点。从所有未标记的结点中

,

选取

d

j

中最小的一个

i

:

d

i

= m
in [

d

j

,

所有未标记的点

j

]

i

就被选为最短路径中的一点

,

并设为已标记

的。

4)

找到点

i

的前一点。从已标记的点中找到直接连接到点

i

的点

j

*

,

作为前一点

,

设置

:

i

=

j *

  

5)

标记点

i

。如果所有点已标记

,

则算法完全推出

,

否则

,

k

=

i

,

转到

2)

再继续。

继续阅读

发表在 Work | 留下评论

qt4.7在没有安装编译环境的机器上中文汉字乱码的特殊解决方法!

网上找了很多,方法大多是:

#include <QtGui/QApplication>
#include <QTextCodec>
#include <QDialog>
#include <QLabel>

int main(int argc, char *argv[])
{
QApplication a(argc, argv);

QTextCodec *codec = QTextCodec::codecForName("GB2312");//或者是"UTF-8","GBXXXX"

QTextCodec::setCodecForLocale(codec);
QTextCodec::setCodecForCStrings(codec);
QTextCodec::setCodecForTr(codec);

QDialog dlg;
QLabel lb(&dlg);
lb.setText("你好");
dlg.show();
return a.exec();
}

UTF-8反而直接乱码,没编译环境的机器上也是。最后的解决方法是:

1.PROJECT-EDITOR SETTING -Default file encoding改为“System”//这个好像默认就是这个的

2.上述中codecForName("GB2312")改成codecForName("system")

3.第三部,设置默认字体QFont

font(

"Times"

,

10

,

QFont

::

Normal,

FALSE);

a.

setFont(

font);

     第三部不知道是不是必须的,好学的孩子们可以钻研下。

如图:

继续阅读

发表在 Work | 标签为 , | 留下评论