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...