資料結構 NOJ004 單鏈表的歸併

2021-09-16 12:19:28 字數 945 閱讀 5284

兩個遞增鍊錶→乙個遞減鍊錶

這道題用了個詭計,在建立la、lb兩個鍊錶時,用的是頭插法

比如輸入1、2、3、4、5

每次輸入新節點都插在頭部,最後鍊錶就變成了5、4、3、2、1

然後直接用尾插法歸併就可以了

避免了【先歸併,再逆置】這麼麻煩的做法

或者也可以:先用尾插法輸入兩個鍊錶,歸併時用頭插法

#include

#include

using

namespace std;

typedef

struct node

*list;

intmain()

for(

int i=

0; i)//歸併

list ta=la-

>next;

list tb=lb-

>next;

//建立第三個鍊錶lc的頭節點

list lc =

(list)

malloc

(sizeof

(struct node));

list tc = lc;

//tc始終指向lc的尾部

while

(ta!=

null

&& tb!=

null

)else

}//將la或者lb中剩下的節點全掛到lc末尾

tc->next =

(ta==

null

? tb : ta)

;//輸出歸併後的鍊錶

for(tmp = lc-

>next; tmp-

>next; tmp = tmp-

>next)

cout<>val<<

' ';

cout<>val

}

資料結構單鏈表

初學資料結構,貼段自己編寫的單鏈表程式,希望自己能夠一直以強大的學習熱情持續下去!自勉!2012年3月30日 於大連 include using namespace std typedef struct node linklist,node linklist makelist int n void ...

資料結構 單鏈表

今天浪費了好多時間,也許是心裡想著明天的考試吧 可自己也知道這次的考試,自己畢竟過不了了,只好等到今年11月份,想想那時自己已經大三了 還有那麼多時間嗎!很懊惱今天不知怎麼回事,感嘆環境真的可以影響乙個人,真的可以 把今天的學習筆記寫下來,沒有進行好好的整理,這回單鏈表的功能較多,操作比較散,最後乙...

資料結構 單鏈表

實現乙個單鏈表 1 查詢 查詢第index個節點 查詢指定的元素 2 插入 將指定的元素插入到第index個節點上 3 刪除 將第index個節點刪除 規律 刪除和新增元素前務必儲存兩個元素的位址引用資訊 public class mylinkedlist 記錄鍊錶結構的頭結點位址引用 privat...