單鏈表相關的基本操作(從檔案中讀入)

2021-10-03 11:55:42 字數 1625 閱讀 5423

初始化單鏈表

頭插法建表

尾插法建表

插入元素

刪除元素

判空表單鍊錶倒置

#ifndef _linklist_h_

#define _linklist_h_

#include

#include

using

namespace std;

#define ok 1

#define error 0

typedef

int status;

typedef

int elemtype;

typedef

struct lnode

lnode,

*linklist;

status initlinklist

(linklist &l)

//帶頭結點

l->next =

null;}

status createlinklist_head

(linklist &l)

//頭插法

while

(!file.

eof())

}status createlinklist_rear

(linklist &l)

//尾插法

lnode *rear = l;

//尾指標

while

(!file.

eof())

}bool

isempty

(linklist l)

//判空

void

visit

(linklist l)

cout << endl;

}status insertdata

(linklist &l,elemtype e,

int n)

//插入元素到指定位置

p = p-

>next; i++;}

cout<<

"插入位置不合法\n"

;//若沒有找到前驅 這說明插入位置不合法

return error;

}status deletedata

(linklist &l,elemtype e)

//刪除元素e

p = p-

>next;

}//若沒有找到前驅,則沒有該元素

cout<<

"沒有該元素"

}status deletepo

(linklist &l,

int n)

//刪除指定位置的元素

int i =0;

lnode *p = l,

*q;while

(p->next)

p = p-

>next;i++;}

//若沒有找到前驅,刪除位置不合法

cout<<

"刪除位置不合法"

}void

reverse

(linklist &l)

//單鏈表倒置 進行一次頭插法即可

}#endif

單鏈表相關操作

這是自己寫的最長的一次 了 在機房敲了一天。以前一直用list來水鍊錶的題 這次終於體會到痛苦了 include include include include include include using namespace std typedef struct node 單鏈表 s,list vo...

單鏈表相關操作

typedef int sltdatatype typedef struct slistnode slistnode typedef struct slist slist 通過畫圖來理解無頭單向非迴圈鍊錶的相關操作 其中操作在圖中用簡易偽 描述 先將要插入的結點指向第乙個結點,然後頭指標指向插入的結...

C語言 單鏈表相關操作

結構體定義 struct link list typedef link list list 將資料封裝成節點 資料要想放入鍊錶中必須將資料做成節點,由於很多操作都需要所以單獨寫成乙個函式,這裡只拿int型別舉例,其他資料型別差別不大 list create node int data 修改遍歷及查詢...