c語言 單鏈表的基本操作

2021-08-02 10:24:11 字數 1583 閱讀 4550

list.h檔案**

#pragma once

#include

#include

#include

typedef int datatype;

typedef struct listnode

listnode;

listnode* buynode(datatype x)//建立乙個結點

void pushback(listnode** pplist, datatype x)//尾插-----傳的是結點的指標的位址

else

tail->next = buynode(x);

}}void popback(listnode** pplist)//尾刪

else

if((*pplist)->next ==

null)

else

free(tail);

prev->next =

null;

}}void pushfront(listnode** pplist, datatype x)//頭插

else

}void popfront(listnode** pplist)//頭刪

else

if ((*pplist)->next ==

null)

else

}listnode* find(listnode* plist,datatype x)//查詢乙個結點

//else

//// cur = cur->next;

// }

// printf("沒找到\n");

//} listnode* cur = plist;

while (cur)

cur = cur->next;

}return

null;

}void insert(listnode** pplist, listnode* pos, datatype x)//在指定結點前面插入

else

listnode* tmp = buynode(x);

prev->next = tmp;

tmp->next = pos;

}}void erase(listnode** pplist, listnode* pos)//刪除結點

else

if (pos->next ==

null)

else

prev->next = pos->next;

free(pos);

}}void printlist(listnode*

list)//列印鍊錶

printf("null\n");

}//以下測試

void testlist()

void testinsert()

void testerase()

主函式

#define _crt_secure_no_warnings 1

#include"list.h"

int main()

C語言 單鏈表各種基本操作

includetypedef struct student node 鍊錶建立 node create else break p next null head head next return head 鍊錶列印 void print node head printf n n 鍊錶測長 int ge...

C語言單鏈表基本操作總結

鍊錶是一種常見的資料結構。它與常見的陣列是不同的,使用陣列時先要指定陣列包含元素的個數,即為陣列的長度,但是如果向這個陣列中加入的元素超過了陣列的大小時,便不能將內容全部儲存。鍊錶這種儲存方式,其元素個數是不受限定的,當進行新增元素的時候儲存的個數就會隨之改變。在鍊錶中有乙個頭指標變數,這個指標變數...

c 單鏈表基本操作

下午沒事,看資料結構。想到自畢業以後,都沒有寫過這些東西了。寫個鍊錶基本操作,還沒完全測試。includeusing namespace std node 節點 struct node int data node p 單鏈表 class link 通過陣列夠造 link int arr,int le...