欢迎来到天天文库
浏览记录
ID:43900674
大小:44.80 KB
页数:3页
时间:2019-10-16
《数据结构试题分析》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库。
1、{i=0;j=k=-l;while(i2、若表B和表C不利用原来的存储空间,则此题比较简单。可以对表A的所有元素依次进行扫描,若元素值大于等于0,则将该元素放入线性表B;若元素值小于0”则将其放入线性表C。算法如下voidRearrange{SqlistAjSqlist&B>Sqlist&C)「k是工作指针「分别指向玉B和C表的当前元素k初始化为-1〃将小于零的元素放入C表〃将大于零的元素放入B表若将表A拆分成表B和表C时,需要利用原有的存储空间,此时又该如何考虑呢?事实上,此时就是对表A重新进行排序,且将所有小于0的元素放在表A的前半部分,而所有大于等于0的元素放在表A的后半部分。此时可采用快3、速排序的思想,但枢轴记录的值并不作为元素t匕较的标准,而是用元素值是否为负数作为比较的标准,只需一趟快速排序即可完成本题的要求。其算法如下:voidRearrangel(Sqlist&R){i=0;j=A.length-1t=A[0];//暂存枢轴元素while(i=0)j—;{A[i]=A[j];i++;}while(i4、求重排n个元索H以顺序存储结构存储的线性表,使得所有值为负数的元素移到正数元素的前面。这可采用快速排序的思想来实现,只是提岀暂存的第一个元索(枢轴)并不作为以后的比较标准,比较的标准是元素是否为负数。intRearrange(SeqLista;intn)〃a是具有n个元素的线性表,以顺序存储结构存储,线性表的元素是整数。木算法重排线性农a,〃使所有值为负数的元素移到所有值为正数的数的前面。{i=0;j=n-l;i,j为工作指针(下标),初始指向线性表a的第1个和第n个元索。t=a[O];〃暂存枢轴元素。while(i5、>=0)j-;//若当前元素为大于等于零,贝U指针前移。if(i
2、若表B和表C不利用原来的存储空间,则此题比较简单。可以对表A的所有元素依次进行扫描,若元素值大于等于0,则将该元素放入线性表B;若元素值小于0”则将其放入线性表C。算法如下voidRearrange{SqlistAjSqlist&B>Sqlist&C)「k是工作指针「分别指向玉B和C表的当前元素k初始化为-1〃将小于零的元素放入C表〃将大于零的元素放入B表若将表A拆分成表B和表C时,需要利用原有的存储空间,此时又该如何考虑呢?事实上,此时就是对表A重新进行排序,且将所有小于0的元素放在表A的前半部分,而所有大于等于0的元素放在表A的后半部分。此时可采用快
3、速排序的思想,但枢轴记录的值并不作为元素t匕较的标准,而是用元素值是否为负数作为比较的标准,只需一趟快速排序即可完成本题的要求。其算法如下:voidRearrangel(Sqlist&R){i=0;j=A.length-1t=A[0];//暂存枢轴元素while(i=0)j—;{A[i]=A[j];i++;}while(i4、求重排n个元索H以顺序存储结构存储的线性表,使得所有值为负数的元素移到正数元素的前面。这可采用快速排序的思想来实现,只是提岀暂存的第一个元索(枢轴)并不作为以后的比较标准,比较的标准是元素是否为负数。intRearrange(SeqLista;intn)〃a是具有n个元素的线性表,以顺序存储结构存储,线性表的元素是整数。木算法重排线性农a,〃使所有值为负数的元素移到所有值为正数的数的前面。{i=0;j=n-l;i,j为工作指针(下标),初始指向线性表a的第1个和第n个元索。t=a[O];〃暂存枢轴元素。while(i5、>=0)j-;//若当前元素为大于等于零,贝U指针前移。if(i
4、求重排n个元索H以顺序存储结构存储的线性表,使得所有值为负数的元素移到正数元素的前面。这可采用快速排序的思想来实现,只是提岀暂存的第一个元索(枢轴)并不作为以后的比较标准,比较的标准是元素是否为负数。intRearrange(SeqLista;intn)〃a是具有n个元素的线性表,以顺序存储结构存储,线性表的元素是整数。木算法重排线性农a,〃使所有值为负数的元素移到所有值为正数的数的前面。{i=0;j=n-l;i,j为工作指针(下标),初始指向线性表a的第1个和第n个元索。t=a[O];〃暂存枢轴元素。while(i5、>=0)j-;//若当前元素为大于等于零,贝U指针前移。if(i
5、>=0)j-;//若当前元素为大于等于零,贝U指针前移。if(i
此文档下载收益归作者所有