数据结构

位置:IT落伍者 >> 数据结构 >> 浏览文章

数据结构之顺序表上基本运算的实现[14]


发布日期:2018年12月23日
 
数据结构之顺序表上基本运算的实现[14]

while ( ilength && jlength )

{

if (A>date[i]date[j]) *C>data[k++]=A>data[i++];

else *C>data[k++]=B>data[j++];

}/*while */

while (ilength ) /*B已扫描完则将A的余下部分复制到C中*/

*C>data[k++]= A>data[i++];

while (jlength ) /*A已扫描完则将B的余下部分复制到C中*/

*C>data[k++]= B>data[j++];

*C>length=k;

return(); /*合并成功*/

}

本算法的时间复杂度是O(m+n)其中m是线性表A的表长n是线性表B的表长

【例】 约瑟夫问题设由n个人围坐在一个圆桌周围现从第s个人开始从报数数到m的人出列然后从出列的下一个人重新开始从报数数到m的人再出列……如此反复直到所有的人都出列求出出列的次序要求用顺序表求解

[] [] [] [] [] [] [] [] [] [] [] [] [] [] [] []

               

上一篇:数据结构之顺序表上基本运算的实现[15]

下一篇:数据结构之顺序表上基本运算的实现[13]