線性表的鏈式表示:
typedef struct lnode lnode,*linklist;
建立鍊錶:
void createlist(linklist &l,int n)
}
實際,我覺得這塊不加&也行,只不過呼叫前需將所要建立的節點進行初始化。
我的理解,一般而言,加乙個&,就相當於引用一般,這函式裡改變後其他函式也會相應改變。
歸併:
void mergelist(linklist& la, linklist& lb, linklist & lc)
else
}m->nxt = p ? p : q;
free(lb);
}
這裡面,在mergelist函式裡引數裡使用的是&la,&lb,則此函式中free(lb),也相當於對所對應主函式裡的引數進行釋放空間了,然而,嘗試了去掉其中的&即mergelist(la,lb,&lc),依然能對所對應主函式裡的引數進行釋放空間,這是怎麼一回事???如果有大神無意看到了,還望解答。
總程式:
#include#includetypedef int elemtype;
typedef struct lnode lnode,*linklist;
void createlist(linklist &l,int n)
}void mergelist(linklist& la, linklist& lb, linklist & lc)
else
}m->nxt = p ? p : q;
free(lb);
}int main()
其中,資料形成的節點是依次插入到表頭的,故,輸入應該為按非遞增的順序,或將建立鍊錶的程式改為插入表尾的 歸併的具體實現
線性表的兩種表示 順序表示與鏈式表示。一 順序表示。參見 首先,表示出線性表 動態分配順序儲存結構 define list inti size 100 線性表的初始分配量 define listincrement 10 線性表儲存空間的分配增量 避免初始分配量不夠,實現靈活的再分配,且再分配時借助基...
鏈式佇列的表示和實現
2014年4月19日 鏈式佇列的實現 用頭結點來儲存鍊錶長度 儲存格式 儲存結構和單鏈表一樣 queue data next data next data next data 0 head node node 0 node 1 end node include include include inc...
佇列的鏈式表示和實現
佇列的鏈式表示和實現 帶頭結點的鏈式佇列 include 定義 typedef struct qnodeqnode,queueptr typedef structlinkqueue 初始化 演算法思想 生成乙個頭結點,是隊頭指標和隊尾指標都指向該頭結點,並將頭結點的指標域置空。int initque...