三、完整原始碼
四、執行結果展示
假設利用兩個線性表 la 和 lb 分別表示兩個集合 a 和 b (即線性表中的資料元素為集合中的成員),現要求乙個新的集合 a = aub .假如,設
la = (7,5,3,11)
lb = (2,6,3)
合併後la = (7,5,3,11,2,6)
/*合併*/
void
union
(linklist& la, linklist& lb,
int n,
int m)
}
#include
#define ok 1
#define error 0
typedef
int elemtype;
typedef
int status;
/*定義鏈式儲存結構*/
typedef
struct lnode
*linklist;
/*鍊錶的初始化*/
status initlist
(linklist& l)
/*建立鍊錶*/
void
createlist
(linklist& l,
int n)
}/*按序號查詢元素*/
status getelem
(linklist l,
int i, elemtype& e)if(
!p || j > i)
return error;
//i值不存在
e = p-
>data;
//第i個元素的資料域賦值給e
return e;
}/*查訪la*/
status locateelem
(linklist l, elemtype e)
/*跳出迴圈,要麼是鍊錶沒元素,要麼是找到要找的元素*/if(
!p)return error;
//如果鍊錶空了,返回0
return ok;
//返回1說明找到元素了
}/*插入到la*/
status listinsert
(linklist &l,
int m,elemtype &e)if(
!p || j > m)
return error;
linklist s;
//新建結點
s =new lnode;
s->data = e;
//存入資料域
s->next = p-
>next;
//更改指標的位置
p->next = s;
return ok;
}/*合併*/
void
union
(linklist& la, linklist& lb,
int n,
int m)
}/*輸出鍊錶*/
C語言實現一般線性表的鏈式儲存
c語言實現一般線性表的順序儲存,以下是在vs2013編譯通過的,歡迎討論。有關資料結構的概念可看我的另一篇文章 ifndef linklist h define linklist h typedef void linklist typedef struct tag linklistnode link...
合併鍊錶 線性表 C語言
今天寫寫鍊錶,新學的,啊 這。有點難。題目要求 線性表 假設有兩個按元素值遞增次序排列的線性表,均以單鏈表形式儲存。請編寫演算法將這兩個單鏈表歸併為乙個按元素值遞減次序排列的單鏈表,並要求利用原來兩個單鏈表的結點存放歸併後的單鏈表。先上 include include typedef struct ...
一般線性鍊錶類的C 實現
以下的c 類linklist實現了線性鍊錶的一般操作。可以直接在其他的程式中直接建立它的物件,其中線性表中的資料在此為整型,具體應用的時候可以適當的修改,並可以在此基礎上繼續封裝特定的功能。標頭檔案 linklist.h typedef struct lnode lnode,plinklist cl...