指针(大小比较)等
2014-01-14 01:36
162 查看
我是由下面的例子来理解的:
[align=center]顺序表的插入算法[/align] |
status ListInsert(List *L,int i,ElemType e) { struct STU *p,*q; if (i<1||i>L->length+1) return ERROR; q=&(L->elem[i-1]); for(p=&L->elem[L->length-1];p>=q;--p)//1.注释 *(p+1)=*p; *q=e; ++L->length; return OK; }/*ListInsert Before i */ |
/1.注释:P>=q此时是比较PQ指向的地址空间位置及存放数据的位置是否相等。位置当然是32位进制的了,.指针变量无非就是一个表示内存地址的长整数而已,指向同一个数组时,两个指针的大小就表示谁指向的元素靠前或靠后。如果不是指向同一个数组,比较大小就只能看出谁指向的内存空间地址较小,没什么意义。指针是一个变量,它存放的是内存地址 例如:int *p 其中,p的值就是*p指向的内存的地址,&p就是放在p这个内存地址中的数值,这个显然是int型的变量 [align=center]顺序表的合并算法[/align] |
void MergeList(List *La,List *Lb,List *Lc) { ElemType *pa,*pb,*pc,*pa_last,*pb_last; pa=La->elem;pb=Lb->elem; Lc->listsize = Lc->length = La->length + Lb->length; pc = Lc->elem = (ElemType *)malloc(Lc->listsize * sizeof(ElemType)); if(!Lc->elem) exit(OVERFLOW); pa_last = La->elem + La->length - 1; pb_last = Lb->elem + Lb->length - 1; while(pa<=pa_last && pb<=pb_last) { if(Less_EqualList(pa,pb)) *pc++=*pa++; else *pc++=*pb++; } while(pa<=pa_last) *pc++=*pa++; while(pb<=pb_last) *pc++=*pb++; } |
相关文章推荐
- 用指针(比较三个字符串的大小)
- C语言指针与函数之三数比较大小并排序
- 指针 数组 两个方式调用数组元素 比较大小
- 指针比较大小
- c练习题3:用指针比较3个数的大小
- 十六周——指针比较大小
- 指针做形参比较字符串的大小、
- C++ 指针比较大小
- 2013级C++第17周项目【项目2-用指针玩字符串】之字符串比较大小
- 用指针比较两数的大小(2)
- C++中指针大小比较问题
- 2.7节 10.2 指针比较三个数的大小
- 第十八周项目二-1指针做形参比较大小
- 2.7节 10.1 指针比较两个数大小
- 运用指针比较两数大小并输出
- c语言:指针比较两个数的大小
- 利用指针比较大小
- 十七周上机任务(比较三个数的大小---指针)
- 指针 比较三个数大小
- 第16周项目二运用指针比较两个数的大小(需调试,不知问题出在哪)