初始化單鏈表
頭插法建表
尾插法建表
插入元素
刪除元素
判空表單鍊錶倒置
#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 修改遍歷及查詢...