單鏈表的基本操作

2021-07-26 13:39:05 字數 1839 閱讀 2218

/*

function:單鏈表的基本操作

created by : xilong

date: 2017.2.3

*/#include "iostream"

#include

using

namespace

std;

#define ok 1

#define error 0

#define true 1

#define false 0

typedef

int status;

typedef

int elemtype;

typedef

struct node // 結構體定義

node;

typedef

struct node *linklist;

/* 功能: 初始化乙個帶有頭結點的單鏈表

*/linklist initlist()

/* 功能:頭插法(隨機)建立乙個單鏈表

*/void createformhead(linklist *head, int n)}/*

功能:頭插法(自己輸入)建立乙個單鏈表

*/void createformhead2(linklist *head)

else

}}/*

功能:利用尾插法建立單鏈表

*/void createformtail(linklist *head)

else

}}/*

功能:在帶頭節點的單鏈表第 i 個位置插入元素 e

*/status list_insert(linklist *head, int i, elemtype e)

if (!pre || k > i)

s = (linklist)malloc(sizeof(node)); // 為 e 申請乙個新的結點並由 s 指向它

s->data = e; // 將帶插入結點的值 e 賦給 s 的資料域

s->next = pre->next; // 插入操作

pre->next = s; // 插入操作

return ok;}/*

功能:刪除單鏈表第 i 個位置的元素,並將刪除的元素儲存到變數 *e 中

*/status list_delete(linklist *head, int i, elemtype *e)

if (!(pre->next) || k > i)

r = pre->next;

pre->next = r->next;

*e = r->data;

free(r);

return ok;}/*

功能:查詢第 i 個元素,並將該的元素儲存到變數 *e 中

*/status get_data(linklist *head, int i, elemtype *e)

if (!p || k > i)

*e = p->data; // 將第 i 個元素儲存到變數 *e 中

return ok;}/*

功能:顯示單鏈表中所有資料

單鏈表基本操作

include include include include includeusing namespace std typedef struct node node,plinklist plinklist createfromhead node pstnode node malloc sizeof...

單鏈表基本操作

單鏈表的初始化,建立,插入,查詢,刪除。author wang yong date 2010.8.19 include include typedef int elemtype 定義結點型別 typedef struct node node,linkedlist 單鏈表的初始化 linkedlist...

單鏈表基本操作

include using namespace std define namelenth 20 define ok 0 define error 1 typedef struct flagnode node 生成結點 inline node newnode 銷毀化煉表 void destroylin...