#include
#include
//單鏈表結點的定義
typedef
struct lnode
node;
typedef node linklist;
//求單鏈表的長度
intlen_list
(linklist l)
return len;
}//頭插法建立單鏈表
void
head_insert
(linklist* plist)
return;}
//尾插法建立單鏈表
void
tail_insert
(linklist* plist)
return;}
//在單鏈表插入某個元素
void
insert_list
(linklist* plist,
int i,
int e)
node *q =
(node*
)malloc
(sizeof
(node));
//尋找該插入的位置的前乙個節點
q = plist;
int j=1;
while
(j < i)
node *p =
(node*
)malloc
(sizeof
(node));
//新插入的結點
p->data = e;
//賦值
p->next = q->next;
//後邊連上
q->next = p;
//前邊連上
return;}
//刪除單鏈表第幾個元素
void
delete_list
(linklist* plist,
int i)
node* p = plist;
int j=1;
while
(j < i)
node* q = p->next;
//指向被刪除的元素,待會釋放它
p->next = p->next->next;
//邏輯上刪除
free
(q);
//物理上刪除
return;}
//查詢單鏈表某個位置上的元素
void
search_element
(linklist l,
int x)
node* pnode =
(node*
)malloc
(sizeof
(node));
pnode =
&l;for
(int i=
1; i<=x; i++
)printf
("the element of this place is:%d"
, pnode->data)
;return;}
//查詢某個元素在單鏈表的位置
void
search_placement
(linklist l,
int e)
else}}
//列印單鏈表
void
print_list
(linklist l)
printf
("\n");
}int
main()
棧 順序棧的定義以及基本操作 超詳細!
include include 順序儲存,用靜態陣列實現,需要記錄棧頂指標 定義 初始化 創 增 進棧 刪 出棧 判空 查 讀棧頂元素 銷 define maxsize 50 棧中元素的最大個數 順序表結構定義 struct sqstack 初始化順序棧 void initialize stack ...
佇列 鏈式儲存佇列的定義以及基本操作 超詳細!
include include 帶頭結點的鏈隊 結點的結構體定義 typedef struct linknode linknode 鏈隊的結構體定義 typedef struct linkqueue 初始化 創 void initialize queue linkqueue q 判空 void em...
詳細的單鏈表基本操作C C 實現
include include include includeusing namespace std typedef struct snode lnode int listinsert lnode l,int i,int e 結點插入指定位置 if p j i 1 如果不存在指定位置 void cr...