某公司的面試題。
兩個公升序單鏈表a,b,給定乙個節點c。不能申請其他節點情況下將a,b 按公升序排列。/
#include
#include
#include
////
//struct link;//
//建立鍊錶
// nrandom: 自由因子
// ncount: 鍊錶節點數目
link* create( const int nrandom, const int ncount )
r->next=null;
r = p->next;
while ( r->next != null)
return p->next; }//
void combin( link* a,link* b, link** h )
(*h)->next=a;
for(; a->data <= a->next->data; a = a->next)//a=a->next
}////處理後b鏈為空
//if ( b == null )
else
(*h)->next = a->next;
a->next = b;
//斷鏈操作
while ( a->data <= a->next->data )
(*h) = a->next;
a->next = null;}}
////b頭小的情況,將b轉成迴圈鍊錶。a不轉。
//else
(*h)->next=b;
for(; b->data <= b->next->data; b = b->next)//a=a->next
}//////處理後a鏈為空
if ( a == null )
else
(*h)->next = b->next;
b->next = a;
//斷鏈操作
while ( b->data <= b->next->data )
(*h) = b->next;
b->next = null;}}
}void main()
}
單鏈表(合併單鏈表)
單鏈表遍歷 單鏈表遍歷是從單鏈表頭指標head開始訪問,沿著next指標所指示的方向依次訪問每乙個結點,且每個結點只能訪問依次,直到最後乙個結點為止。遍歷時注意,不要改變head指標的指向。因此一般設定另外的乙個指標變數如p,p從head開始依次訪問乙個結點,直到鍊錶結束,此時p null,完成依次...
合併單鏈表
線性表介面 public inte ce ilinarlist 單鏈表實現線性表 public class slinklistimplements ilinarlist 初始化線性表 public slinklist 新增元素,將元素新增在單鏈表的末尾 public boolean add e it...
合併單鏈表
合併單鏈表 20分 本題要求實現乙個函式,將兩個公升序鍊錶合併為乙個新的公升序鍊錶並返回。新煉表是通過拼接給定的兩個鍊錶的所有節點組成的。在這裡描述函式介面。例如 linklist mergetwolists linklist l1,linklist l2 其中l1和l2都是使用者傳入的引數,為煉表...