链表的的这个算法是怎么运行的,请高手们帮帮忙?
sqlist merge(sqlist A,sqlist B,sqlist *c) //把A,B表放入表中并保持有序
{
int i,j,k;
i=0;j=0;k=0; //记数
while ( i <A.length &&j <B.length) //
if (A.elem[i] <B.elem[j])
c->elem[k++] = A.elem[i++];
else
c->elem[k++] = B.elem[j++]; //用j记录B表
while (i <A.length) //last
c->elem[k++] = A.elem[i++];
while (j <B.length)
c->elem[k++]=B.elem[j++];
c->last=k-1;
return *c;
}
我看不太懂这个算法是怎么实行的,请大家帮我解释一下吧,谢谢!
{
int i,j,k;
i=0;j=0;k=0; //记数
while ( i <A.length &&j <B.length) //
if (A.elem[i] <B.elem[j])
c->elem[k++] = A.elem[i++];
else
c->elem[k++] = B.elem[j++]; //用j记录B表
while (i <A.length) //last
c->elem[k++] = A.elem[i++];
while (j <B.length)
c->elem[k++]=B.elem[j++];
c->last=k-1;
return *c;
}
我看不太懂这个算法是怎么实行的,请大家帮我解释一下吧,谢谢!
...全文
相关推荐
c++两有序单链表的合并算法
求表长以及有序单链表的合并算法的实现[问题描述] 假设有两个按元素值递增次序排列的线性表,均以单链表形式存储。请编写算法将这两个单链表归并为一个按元素值递减次序排列的单链表,并计算表长。要求利用原来两
实现循环单链表的各种基本运算的算法
循环单链表的基本运算算法在数据结构中,循环单链表是一种常用的数据结构形式。它具有环形结构,最后一个结点指向第一个结点,形成一个环形链表。循环单链表可以用于解决许多实际问题,如循环队列、约瑟夫环等。
c语言链表的排序算法-排序链表最快的算法是什么?.pdf
* 计算机环境对链表排序算法的影响:计算机环境和链表的特点对链表排序算法的性能有着非常大的影响。
删除单链表中值相同的多余结点的算法
#### 算法概述算法的主要思路是遍历整个链表,对于链表中的每个节点,检查其后面的节点是否有与其值相同的节点。如果有,则将这些节点删除。具体步骤如下:1.
二维及多维链表及其算法实现
### 二维及多维链表及其算法实现#### 摘要本文通过对比线性链表和数组的特点,提出了二维或多维链表的概念,并详细阐述了其结构和相关算法。


