• 博客园logo
  • 会员
  • 众包
  • 新闻
  • 博问
  • 闪存
  • 赞助商
  • HarmonyOS
  • Chat2DB
    • 搜索
      所有博客
    • 搜索
      当前博客
  • 写随笔 我的博客 短消息 简洁模式
    用户头像
    我的博客 我的园子 账号设置 会员中心 简洁模式 ... 退出登录
    注册 登录
 






hao02171990

记录点滴的自我。
 
 

Powered by 博客园
博客园 | 首页 | 新随笔 | 联系 | 订阅 订阅 | 管理
上一页 1 ··· 3 4 5 6 7 8 9 10 11 12 下一页

2013年4月17日

各种排序算法的时间复杂度 比较
摘要: 1.冒泡排序:n*n。俩个for循环决定其时间复杂度为n^2template<classT>voidSwap(TA[],inti,intj){Ttmp=A[i];A[i]=A[j];A[j]=tmp;}//冒泡法bubblesorttemplate<classT>voidBubSort(TA[],intn){for(inti=0;i<n;++i){for(intj=i+1;j<n;++j){if(A[i]<A[j])Swap(A,i,j);}}}2.选择排序:n*n。同样,俩个for循环决定其时间复杂度为n^2。template<classT&g 阅读全文
posted @ 2013-04-17 22:50 某某郝 阅读(736) 评论(0) 推荐(0)
 
有符号数和无符号数间的比较.
摘要: cout<<(1>-2)<<endl; //1 正常,都是有符号数cout<<((unsigned int)1>-2)<<endl;// 0 -2被转换为无符号数.cout<<((unsigned int)1>-2.)<<endl;// 1 float不存在无符号数,所以,无符号数肯定大于float型的负数!///////////////////////////////http://www.52rd.com/Blog/Detail_RD.Blog_lentil_13982.html以下实验均在virual 阅读全文
posted @ 2013-04-17 22:34 某某郝 阅读(451) 评论(0) 推荐(0)
 
无符号数和有符号数
摘要: 无符号数和有符号数是不能进行比较运算的,否则可能会出现意想不到的错误,且极难检查出来! 首先肯几个例子(假设在32位的机器上): 1 1. 0 == 0U 2 2. -1 < 0U (注: 0是无符号的) 3 3. 2147483647U > -2147483647 - 1 4 4. 2147483647 > (int) 2147483648U 结果如下: 1 1. 1 2 2. 0 * 3 3. 0 * 4 4. 1 * 从结果中可以看出,2 3 4都不是我们想像中的结果。在C语言中,当一个无符号数和一个有符号数进行比较运算时,有符号数会被隐含的转换成无符号数,并假设... 阅读全文
posted @ 2013-04-17 22:32 某某郝 阅读(476) 评论(0) 推荐(0)
 

2013年4月16日

如何计算时间复杂度
摘要: 定义:如果一个问题的规模是n,解这一问题的某一算法所需要的时间为T(n),它是n的某一函数 T(n)称为这一算法的“时间复杂性”。当输入量n逐渐加大时,时间复杂性的极限情形称为算法的“渐近时间复杂性”。我们常用大O表示法表示时间复杂性,注意它是某一个算法的时间复杂性。大O表示只是说有上界,由定义如果f(n)=O(n),那显然成立f(n)=O(n^2),它给你一个上界,但并不是上确界,但人们在表示的时候一般都习惯表示前者。此外,一个问题本身也有它的复杂性,如果某个算法的复杂性到达了这个问题复杂性的下界,那就称这样的算法是最佳算法。“大 O记法”:在这种描述中使用的基本参数是 n,即问题实例的规模 阅读全文
posted @ 2013-04-16 18:30 某某郝 阅读(358) 评论(0) 推荐(1)
 

2013年4月14日

关于C++ const 的全面总结
摘要: C++中的const关键字的用法非常灵活,而使用const将大大改善程序的健壮性,本人根据各方面查到的资料进行总结如下,期望对朋友们有所帮助。Const是C++中常用的类型修饰符,常类型是指使用类型修饰符const说明的类型,常类型的变量或对象的值是不能被更新的。一、Const作用如下表所示:No.作用说明参考代码1可以定义const常量 const int Max = 100;2便于进行类型检查const常量有数据类型,而宏常量没有数据类型。编译器可以对前者进行类型安全检查,而对后者只进行字符替换,没有类型安全检查,并且在字符替换时可能会产生意料不到的错误void f(const int . 阅读全文
posted @ 2013-04-14 17:50 某某郝 阅读(127) 评论(0) 推荐(0)
 
指针参数是如何传递内存的
摘要: 如果函数的参数是一个指针,不要指望用该指针去申请动态内存。示例7-4-1中,Test函数的语句GetMemory(str,200)并没有使str获得期望的内存,str依旧是NULL,为什么?voidGetMemory(char*p,intnum){p=(char*)malloc(sizeof(char)*num);}voidTest(void){char*str=NULL;GetMemory(str,100);//str仍然为NULLstrcpy(str,"hello");//运行错误}示例7-4-1试图用指针参数申请动态内存毛病出在函数GetMemory中。编译器总是要为 阅读全文
posted @ 2013-04-14 17:12 某某郝 阅读(267) 评论(0) 推荐(0)
 
指针和引用的比较
摘要: 在C语言中有指针的概念,但是在C++中有引用的应用;由于都与取地址符号有关系,所以显得指针和引用十分相似首先说明一点,在函数调用时有三种调用方式{值传递,指针传递(地址传递),引用传递}三方式具体实现: 主调函数 被调函数1,fun(n) fun(int m) //实现将n的值直接传给m,实现值传递的效果2,fun(&n) fun(int *n) //将n的地址值传递给p,实现地址值的传递3,fun(n) fun(int &m) //将n的存储变量起了一个别名为m,实现两个名字代表一个变量的效果下面详细说明这两个的区别: 指针与引用看上去完全不同(指针用操作符“*... 阅读全文
posted @ 2013-04-14 16:57 某某郝 阅读(163) 评论(0) 推荐(0)
 

2013年4月11日

fread函数和fwrite函数,read,write
摘要: fread函数和fwrite函数1.函数功能用来读写一个数据块。2.一般调用形式fread(buffer,size,count,fp);fwrite(buffer,size,count,fp);3.说明 (1)buffer:是一个指针,对fread来说,它是读入数据的存放地址。对fwrite来说,是要输出数据的地址。 (2)size:要读写的字节数; (3)count:要进行读写多少个size字节的数据项;//1代表二进制 (4)fp:文件型指针。注意: 1 完成次写操(fwrite())作后必须关闭流(fclose()); 2 完成一次读操作(fread())后,如果没有关闭流(fclose 阅读全文
posted @ 2013-04-11 17:22 某某郝 阅读(1164) 评论(0) 推荐(0)
 
C语言中条件编译命令(#if #else #endif)
摘要: 条件编译预处理程序提供了条件编译的功能。 可以按不同的条件去编译不同的程序部分,因而产生不同的目标代码文件。这对于程序的移植和调试是很有用的。 条件编译有三种形式,下面分别介绍:1. 第一种形式:#ifdef 标识符程序段1#else程序段2#endif它的功能是,如果标识符已被 #define命令定义过则对程序段1进行编译;否则对程序段2进行编译。如果没有程序段2(它为空),本格式中的#else可以没有,即可以写为:#ifdef 标识符程序段 #endif#define NUM okmain(){struct stu{int num;char *name;char sex;float sco 阅读全文
posted @ 2013-04-11 16:59 某某郝 阅读(1302) 评论(0) 推荐(0)
 
结构体指针在函数调用中的实例
摘要: #include<stdio.h>#define N 4#include<string.h>#define FMT "%5d %-11%5d%8d%8d%10.1f\n"struct st{ int num; char name[3]; int s[3]; float aver;};void input(struct st *p){ scanf("%d#s%d%d%d",&p->num,p->name,&p->s[1],&p->s[2]); p->aver=(p->s[0 阅读全文
posted @ 2013-04-11 16:45 某某郝 阅读(863) 评论(0) 推荐(0)
 
上一页 1 ··· 3 4 5 6 7 8 9 10 11 12 下一页