順序表的鏈式結構中用C語言實現單鏈表的交並差運算

2021-04-12 21:22:55 字數 1639 閱讀 3760

我們開始--->

#include

#include

#include

#define null 0

#define m 100

/*定義鍊錶*/

typedef int elemtype;

typedef struct lnode ;

/*返回鍊錶長度*/

int lenth(struct lnode **l)

return n;

}/*返回指定節點的值*/

elemtype get(struct lnode **l,int n)

if(t!=null)

else

}/*定位指定值的節點的位置*/

int locate(struct lnode **l,elemtype x )

if(t==null)

else

}/*顯示鍊錶*/

void display(struct lnode **l)

else

while(t!=null);

}printf("/n");

}/*建立鍊錶,並設定鍊錶為空*/

void creat(struct lnode **l)

/*向鍊錶中插入元素*/

void insert(struct lnode **l,int n,elemtype x)

else

if(j==n-1)

else}}

/*刪除指定位置的節點*/

void delete(struct lnode **l,int n)

else

if(t1->next!=null&&i==n-1)

else

}if(t2==null)

}/*初始化鍊錶*/

void init(struct lnode **l,int len)

for(j=1;j<=len;j++)

for(k=j+1;k<=len;k++)

}for(i=1;iint i,len;

elemtype t;

len=lenth(&*l1);

creat(&*l2);

for(i=1;i<=len;i++)

}/*求交集*/

void intersection(struct lnode **l1,struct lnode **l2,struct lnode **l3)

t2=t2->next;

}t1=t1->next;

t2=*l2;}}

/*求並集*/

unionset(struct lnode **l1,struct lnode **l2,struct lnode **l3)

else if(t2->datadata)

else if(t2->data>t3->data)}}

if(k>0&&k<=lenth(&*l3))

else if(k>lenth(&*l3))

t2=t2->next;

t3=*l3;}}

/*求差集*/

void diffrenceset(struct lnode **l1,struct lnode **l2,struct lnode **l3)}}

main()

佇列 鏈式結構 C語言實現

鏈式佇列需要乙個頭節點 front 和乙個尾節 rear 點來控制鍊錶的插入和刪除,入隊,從尾部插入,出隊,從頭部斷開輸出。這裡放兩張網上我覺得繪畫的很好的示意圖 借用csdn博主c zhang 入佇列示意圖 出佇列示意圖 初始化佇列 bool init queue queue queue 判斷佇列...

C語言實現順序表

標頭檔案部分 include include include typedef int datatype define maxsize 10 typedef struct seqlist seqlist 列印順序表的內容 void printseqlist seqlist seq 初始化順序表 voi...

C語言實現順序表

順序表是在計算機記憶體中以陣列的形式儲存的線性表,是指用一組位址連續的儲存單元依次儲存資料元素的線性結構。線性表採用順序儲存的方式儲存就稱之為順序表。順序表是將表中的結點依次存放在計算機記憶體中一組位址連續的儲存單元中。這裡我用c語言實現了一下順序表的具體操作。其中用了一些c 的小語法。所以有可能不...