- 博客(14)
- 资源 (12)
- 收藏
- 关注
原创 链式快排
链式快排(linked quicksort)实现。保存一个p_small指针,p_small指针指向比pivot小的数。另外一个指针p一直往右移动,p_small指针只有在遇到比pivot小的数的时候才往前移动。当遇到比pivot小的元素时,p_small指针往右移动一位,然后交换p_small指针与指针p指向的节点的值。tail在调用的时候需为NULL#includeusing
2013-10-20 22:46:50 870
原创 求数组中第k大的数
#includeusing namespace std;void swap(int &i,int &j){ int temp=i; i=j; j=temp;};int kmax(int *A,int low,int high,int k){ if(k<=0){ cout<<"false argument"<<endl; return -1; } int i=low;
2013-10-20 20:08:47 1081
原创 实现以单词为单位的翻转字符串
比如输入I love sports输出为sports love I单词之间以空格隔开,单词之间可能有多个空格,字符串末尾也有可能有多个空格思想为先实现整个字符串的翻转。整个字符串的翻转可以设置两个指针,一个指针p1指向字符串开头,一个指针p2指向字符串末尾,p1从前后后移动,p2从后往前移动。不断交换着两个指针指向的字符的值。直到p1>=p2停止这个过程对翻转后的字符串
2013-10-16 14:41:59 1585
原创 c语言str_cpy和strn_cpy实现
char * strncpy ( char * destination, const char * source, size_t num );Copy characters from stringCopies the first num characters of source to destination. If the end of the source C string (w
2013-10-16 11:11:32 2331 1
原创 给定一个数字m和数字n,输出相应的所有排列
#include#includeusing namespace std;//int *a=new int[m];void combination(int m,int n,string str){if(m==0){coutcoutreturn;}for(int i=n;i>=m;i--){//coutchar buf[10];sprin
2013-10-11 23:14:51 3362
原创 某公司笔试题
题目大致是这样。有一排紧挨着的阶梯(假设阶梯有两侧封闭),可以用来收集雨水,比如一组数据{8,4,7,2,5,9}。求出该组阶梯最大的蓄水量每个数据代表该容器当前的高度。蓄水量用高度表示比如{8,4,7,2,5,9},4这个可以蓄水(8-4),7可以蓄水(8-7),2可以蓄水(8-2),5可以蓄水(8-5)当时少考虑了一种情况是,不仅该数比两边的数小情况下可以蓄水,而且该数的左
2013-10-10 22:20:59 774
原创 实现push,pop,max为O(1)的栈
实现push,pop,max为O(1)的栈创建一个结构体,该结构体存储栈的元素以及该元素入栈时栈中的最大元素。插入元素时,若该元素大于栈顶元素对应的结构体的最大元素,则push的结构体对应的数据为该元素,最大的元素也是该元素。否则,结构体对应的data成员为该元素,max_elem成员为之前栈顶元素对应的max_elem。把该结构体变量入栈即可。出栈时直接弹出栈顶的
2013-10-09 22:37:17 2519 1
原创 inside the C++ object model chapter 3 the semantics of data
class X {};class Y : public virtual X {};class Z : public virtual X {};class A : public Y, public Z {};sizeof X yielded 1sizeof Y yielded 8sizeof Z yielded 8sizeof A yielded 12
2013-10-07 15:31:45 769
原创 inside the C++ object model chapter 4 the semantics of function学习笔记
C++支持3种类型的成员函数: static, nonstatic, and virtual.One C++ design criterion is that a nonstatic member function at a minimum must be as efficient as itsanalogous nonmember functionC++设计的一个准则是
2013-10-06 16:25:13 750
原创 深入理解计算机系统chapter7 学习笔记
Local symbolsIt is important to realize that local linker symbols are not the same as localprogram variables. The symbol table in .symtab does not contain any symbolsthat correspond to local n
2013-10-03 23:18:56 1115
原创 深入理解计算机系统 chapter 9 学习笔记
在unix系统上,malloc返回的块对齐到8字节(double word)的边界来自深入理解计算机操作系统内部碎片是已经分配给用户的,只是分配的块超过用户的有效负荷(payload)外部碎片是free memory的总大小足够满足分配请求,但没有单块的free memory可以满足用户请求。即memory没法分配出去heap block的格式
2013-10-02 22:55:24 2183
原创 C++虚基类(virtual base class)
参考http://www.learncpp.com/cpp-tutorial/118-virtual-base-classes/#includeusing namespace std;class Base{public: Base() { cout<<"Base constructor"<<endl; }};class A:public Base{public: A
2013-10-02 12:54:35 8769
原创 C++抽象类
参考The C++ programming language抽象类(abstract class):A virtual function is ‘‘made pure’’ by the initializer = 0 :纯虚函数通过函数形参表后添加=表面该函数是纯虚函数比如class Vehicle{public:virtual void run()=0;};
2013-10-02 11:17:21 1694
原创 螺旋数组
螺旋数组最直观的方法是模拟这个顺时针转圈的过程设数组维数为m假设需要转m圈才可以覆盖整个shuzu第一圈的元素个数为4*dim-4=4*(dim-1)第二圈的元素个数为4*(dim-3)即dim*dim=4*(dim-1)+4*(dim-3)+...4*(dim-(2*m-1))即4*(m*dim-m*m)=dim*dim(dim-2m)^2=0m=dim/2
2013-10-01 11:51:16 4938
mysql-connector-java-5.1.7驱动
2009-07-17
运动会计分系统(c++,包括课程设计文档)
2009-07-14
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人