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






lizezheng

 
 

Powered by 博客园
博客园 | 首页 | 新随笔 | 联系 | 订阅 订阅 | 管理
上一页 1 2 3 4 5 下一页

2012年9月25日

栈和队列的相互实现
摘要: 注:本文转载自互联网,有改动,感谢作者zgh1988的整理!以STL中Queue和Stack为例:1.Queue和Stack的特点Queue支持的操作: queue<int> void push(int elem) //向队列中添加元素 void pop() //从队列中删除头元素,即先进入的先出去 int front(); //返回队列中的头元素,即队列中最先进入的元素 int back(); //返回队列中的末尾元素,即队列中的最后进入的元素 int size() const; //返回队列中元素的个数 bool empty() const ; // 判断队列是否为空,空返回t 阅读全文
posted @ 2012-09-25 15:10 lizezheng 阅读(4737) 评论(0) 推荐(0)
 

2012年9月20日

不同长度数据项的排序
摘要: 注:本文改编自windmissing博客,感谢作者整理!题目:a)给定一个整数数组,其中不同的整数中包含的数字个数可能不同,但是该数组中,所有整数中总的数字数为n。说明如何在O(n)时间内对该数组进行排序b)给定一个字符串数组,其中不同的串包含的字符个数可能不同,但所有串中总的字符个数为n。说明如何在O(n)时间内对该数组进行排序(注意此处的顺序是指标准的字母顺序,例如,a < ab < b)a)先用桶排序方法按数字位数排序O(n),再用基数排序的方法分别对每个桶中的元素排序O(n)b)递归使用计数排序,先依据第一个字母进行排序,首字相同的放在同一组,再对每一组分别使用计数排序的方 阅读全文
posted @ 2012-09-20 19:14 lizezheng 阅读(758) 评论(0) 推荐(0)
 

2012年9月16日

各种排序算法的稳定性
摘要: 注:本文转载自sloth is a sin博客园,感谢作者整理!(1)冒泡排序 冒泡排序就是把小的元素往前调或者把大的元素往后调。比较是相邻的两个元素比较,交换也发生在这两个元素之间。所以,如果两个元素相等,我想你是不会再无聊地把他们俩交换一下的;如果两个相等的元素没有相邻,那么即使通过前面的两两交换把两个相邻起来,这时候也不会交换,所以相同元素的前后顺序并没有改变,所以冒泡排序是一种稳定排序算法。(2)选择排序 选择排序是给每个位置选择当前元素最小的,比如给第一个位置选择最小的,在剩余元素里面给第二个元素选择第二小的,依次类推,直到第n-1个元素,第n个元素不用选择了,因为只剩下它一个最大的 阅读全文
posted @ 2012-09-16 10:35 lizezheng 阅读(264) 评论(0) 推荐(0)
 

2012年9月6日

Stooge Sort
摘要: 注:本博文来自Yang Enzo博客园,感谢作者整理。:Introduction to Algorithms P95T(n) = 3 * T(2*n/3) + O(1)According to master method,this situation suits the first case. 1 ///////////////////Test Code///////////////////////// 2 #include "stdafx.h" 3 #include "stdlib.h" 4 #include <time.h> 5 #inc 阅读全文
posted @ 2012-09-06 23:06 lizezheng 阅读(574) 评论(0) 推荐(0)
 
快速排序算法改进——引入InsertSort
摘要: 注:本博文来自Mars博客园博文,稍有改动。由于快速排序多次因为很小的子文件而调用自身,所以可以在其长度较小时,停止使用快速排序,而使用插入排序:If (right - left <= M) InsertSort(Item, left, right)M通常取5-25,实验表明,其速度比M=1快10%以上中间元素法:取3个元素的中间元素作为Partition的依据,而不是Item[right],可以保证不出现最坏情况结合以上方法,可以提高20%-25%的效率SGI STL中,使用的快速排序算法就样的算法://快速排序改进算法 1 static const int M = 10; 2 3 4 阅读全文
posted @ 2012-09-06 10:12 lizezheng 阅读(249) 评论(0) 推荐(0)
 

2012年9月5日

Young矩阵
摘要: 注:本博文来自互联网,感谢作者整理。一个m x n的Young氏矩阵(Young tableau)是一个m x n的矩阵,其中每一行的数据都从左到右排序,每一列的数据都从上到下排序。Young氏矩阵中可能会有一些∞数据项,表示不存在的元素。所以,Young氏矩阵可以用来存放r≦mn个有限的数。 a)画一个包含元素{9,6,3,2,4,8,5,14,12}的4 x 4的Young氏矩阵。 b)讨论一个m x n的Young氏矩阵,如果Y[1,1]=∞,则Y为空;如果Y[m,n]<∞,则Y是满的(包含m x n个元素)。 c)给出一个在非空m x n的Young氏矩阵上实现EXTRACT-M 阅读全文
posted @ 2012-09-05 11:14 lizezheng 阅读(513) 评论(0) 推荐(0)
 

2012年8月28日

构造函数为什么不能是虚函数
摘要: 1. 从存储空间角度,虚函数对应一个指向vtable虚函数表的指针,这大家都知道,可是这个指向vtable的指针其实是存储在对象的内存空间的。问题出来了,如果构造函数是虚的,就需要通过 vtable来调用,可是对象还没有实例化,也就是内存空间还没有,怎么找vtable呢?所以构造函数不能是虚函数。2. 从使用角度,虚函数主要用于在信息不全的情况下,能使重载的函数得到对应的调用。构造函数本身就是要初始化实例,那使用虚函数也没有实际意义呀。所以构造函数没有必要是虚函数。虚函数的作用在于通过父类的指针或者引用来调用它的时候能够变成调用子类的那个成员函数。而构造函数是在创建对象时自动调用的,不可能通过 阅读全文
posted @ 2012-08-28 19:23 lizezheng 阅读(31120) 评论(1) 推荐(1)
 

2012年8月24日

const char * const * p
摘要: const有“只读”,“常量”的意思,const后面的定义的内容是只读的。const char * const * p4解释为:*p4 是只读的,(*p4不能赋值)**p4 是只读的,(**p4不能赋值)但p4可以赋值。当编译器看到这句话的时候,它这样解释:const ( char* const (*p4) )首先最内层的括号里的*p4 是只读的,然后括号里的const前面的char*说明 (*p4)是个 char*类型的<意味着p4是个char类型的二级指针>,最后外层括号外面的const 说明括号里定义的内容是只读的,也就是说**p4是只读的。于是,当编译器在后面若是发现下面这 阅读全文
posted @ 2012-08-24 15:54 lizezheng 阅读(365) 评论(0) 推荐(0)
 

2012年8月22日

字符串处理函数
摘要: strtok函数:原型:char *strtok(char *s, const char *delim);功能:分解字符串为一组字符串。s为要分解的字符串,delim为分隔符字符串。说明: strtok()用来将字符串分割成一个个片段。参数s指向欲分割的字符串,参数delim则为分割字符串,当strtok()在参数s的字符串中发现到参数delim的分割字符时则会将该字符改为\0 字 符。在第一次调用时,strtok()必需给予参数s字符串,往后的调用则将参数s设置成NULL。每次调用成功则返回被分割出片段的指针。返回值:从s开头开始的一个个被分割的串。当没有被分割的串时则返回NULL。所有de 阅读全文
posted @ 2012-08-22 17:03 lizezheng 阅读(312) 评论(0) 推荐(0)
 

2012年8月21日

__FILE__,__LINE__
摘要: 注:本文转自蚂蚁跳楼博客园,感谢作者整理前言:我们在写程序的时候,总是或多或少会加入一些printf之类的语句用于输出调试信息,但是printf语句有个很不方便的地方就是当我们需要发布程序的时候要一条一条的把这些语句删除,而一旦需要再次调试的时候,这些语句又不得不一条条的加上,这给我们带来了很大的不便,浪费了我们很多的时间,也造成了调试的效率低下。所以,很多人会选择使用宏定义的方式来输出调试语句。比如,定义一个宏开关:#define __DEBUG当需要调试的时候,使用语句:#ifdef __DEBUGprintf(xxx);#endif这种方式的调试,可以通过undef __DEBUG的方式 阅读全文
posted @ 2012-08-21 14:37 lizezheng 阅读(34995) 评论(4) 推荐(18)
 
上一页 1 2 3 4 5 下一页