思想很簡單,我的思想不一定官方(沒考慮時間複雜度以及**的簡易)
思想:先把乙個單鏈表插入到另乙個單鏈表然後在做排序
#include #include using namespace std;
typedef int elemtype;
typedef struct lnode
linknode;
void initlist(linknode *&l)//單鏈表初始化
void ceratelist(linknode*&l,elemtype a,int n)//尾插法建立鍊錶
r->next=null;//鍊錶末尾指向空
}void displist(linknode *l,char x)//輸出鍊錶
cout<>n;
cout<<"請輸入單鏈表"linknode *p=null;
elemtype x;
if(q==null)
return;
for(q=l->next;q->next!=null;q=q->next)}}
}void union(linknode*&a,linknode*&b)//合併兩個鍊錶
}int main()
合併
void union(linknode*&a,linknode*&b)//合併兩個鍊錶
}
公升序
void link_sort(linknode *&l)//公升序}}
}
注意:此**最後沒有釋放空間 合併排序的鍊錶 leetcode
劍指 offer 25.合併兩個排序的鍊錶 輸入兩個遞增排序的鍊錶,合併這兩個鍊錶並使新鍊錶中的節點仍然是遞增排序的。示例1 輸入 1 2 4,1 3 4 輸出 1 1 2 3 4 4 選擇兩個鍊錶中的某個鍊錶作為基準 main 將另乙個鍊錶上的元素按照順序要求插入到基準鍊錶 exta 中 設定乙個...
CRR演算法筆記 合併兩個鍊錶,並排序
輸入兩個單調遞增的鍊錶,輸出兩個鍊錶合成後的鍊錶,當然我們需要合成後的鍊錶滿足單調不減規則。非遞迴寫法,新建鍊錶儲存結點,移動兩個鍊錶的指標。這裡需要用兩個鍊錶,內容相同,只是指標指向不同。指向新煉表頭的負責輸出,指向鍊錶尾部的附加新增新結點。public class solution else l...
合併排序鍊錶(劍指offer)
合併排序鍊錶 劍指offer struct listnode listnode mergelist listnode pheadlist1,listnode pheadlist2 判斷指標是否為空 if pheadlist2 null listnode pmergelisthead null 合併後...