25 2010

各类排序算法时间复杂度 空间复杂度 稳定性 对比完整表

Category: C/C++lixiphp @ 2010-08-25 22:39:57

数据结构与算法这一门课程中,觉得希赛这个对比表比较完善,就copy下来与大家分享。

排序算法对比表

对于内部排序算法方法的比较,在算法高手们来说是 a piece of cake,但是学会分析一种算法的效率是至关重要的,我还需要认真学习。

这是希赛网2007出的一套视频中的截屏,有需要到迅雷上去搜。

标签: , , , , , ,


十二 19 2009

常用GCC参数详解

Category: C/C++lixiphp @ 2009-12-19 13:26:20

gcc and g++分别是gnu的c & c++编译器

gcc/g++在执行编译工作的时候,总共需要4步

1.预处理,生成.i的文件[预处理器cpp]
2.将预处理后的文件不转换成汇编语言,生成文件.s[编译器egcs]
3.有汇编变为目标代码(机器代码)生成.o的文件[汇编器as]
4.连接目标代码,生成可执行程序[链接器ld]

-Wall : 显示所有常用的编译警告信息。

-c
  只激活预处理,编译,和汇编,也就是他只把程序做成obj文件
  例子用法:
  gcc -c hello.c
  他将生成.o的obj文件

-S
  只激活预处理和编译,就是指把文件编译成为汇编代码。
  例子用法
  gcc -S hello.c
  他将生成.s的汇编代码,你可以用文本编辑器察看

-o
  制定目标名称,缺省的时候,gcc 编译出来的文件是a.out,很难听,如果
  你和我有同感,改掉它,哈哈
  例子用法
  gcc -o hello.exe hello.c (哦,windows用习惯了)
  gcc -o hello.asm -S hello.c

-g
  只是编译器,在编译的时候,产生条是信息。

以后用到再添加了,嘿嘿…   ;-)

阅读更多>>

标签: , ,


十二 18 2009

GCC编译单个或者多个源文件helloworld.c

Category: C/C++,Linuxlixiphp @ 2009-12-18 21:00:47

①单个源文件:

#include <stdio.h>

int main(void)
{
        hello("Hello World.\n");
        return 0;
}

编译这个hello.c文件

gcc -Wall hello.c -o hello
./hello

②多个源文件

main.c如下:

#include <stdio.h>
#include "hello.h"

int main(void)
{
        hello("Hello World.\n");
        return 0;
}

hello.c如下:

#include <stdio.h>
#include "hello.h"

void hello(const char* string)
{
        printf(string);
}

hello.h如下:

void hello(const char* string);

编译多个文件:

gcc -Wall main.c hello.c -o newhello
./newhello

OK!基本功就是这样,嘿嘿…

标签: , ,