linklist.c
#include "linklist.h"
#include #include list *createlist()
ls->head->next = null; // 空鍊錶
return ls;
}bool insert_head(list *ls, data data)
bool insert_last(list *ls, data data)
tmp->next = node;
return true;
}bool insert_pos(list *ls, int pos, data data) }
node *node = (node *)malloc(sizeof(node)/sizeof(char));
if (null == node)
return error;
node->data = data;
node->next = tmp->next;
tmp->next = node;
return true;
}bool delete_pos(list *ls, int pos) }
node *p = tmp->next;
tmp->next = p->next;
free(p);
return true;
}bool delete_data(list *ls, data data)
tmp = tmp->next; }
return false;
}bool reverse(list *ls)
ls->head->next->next = null;
ls->head->next = pre;
return true;
}void display(list *ls)
printf ("\n"); }
void destroy(list *ls)
free(ls->head);
free(ls);
}
main.c
#include #include "linklist.h"
int main()
printf ("建立成功\n");
int i;
for (i = 0; i < 10; i++)
display(ls);
insert_pos(ls, 1, 123);
display(ls);
insert_pos(ls, 12, 456);
display(ls);
insert_pos(ls, 3, 100);
display(ls);
insert_pos(ls, 30, 100);
display(ls);
printf ("------------------\n");
delete_pos(ls, 1);
display(ls);
delete_pos(ls, 12);
display(ls);
delete_pos(ls, 2);
display(ls);
delete_pos(ls, 11);
display(ls);
delete_data(ls, 6);
display(ls);
reverse(ls);
display(ls);
return 0;
}
linklist.h
#ifndef _linklist_h_
#define _linklist_h_
typedef enum bool;
typedef int data;
typedef struct _node
node;
typedef struct _list
list;
// 建立鍊錶
list *createlist();
// 插入:頭插
bool insert_head(list *ls, data data);
// 插入:尾插
bool insert_last(list *ls, data data);
// 插入:在特定位置插入的資料
// pos:第 pos 個結點位置
bool insert_pos(list *ls, int pos, data data);
// 刪除特定位置的資料
// pos:第 pos 個結點位置
bool delete_pos(list *ls, int pos);
// 根據值刪除資料
bool delete_data(list *ls, data data);
// 鍊錶逆序
bool reverse(list *ls);
void destroy(list *ls);
void display(list *ls);
#endif // _linklist_h_
資料結構 鍊錶
鍊錶 what 就是一張鏈式儲存的表,是一種資料結構,是基礎,所以還是不要想有什麼用。具體呢?在c中就用結構體實現物件描述,然後通過函式來實現各個基本操作 c 則用類來表述,c中的結構體就可以看成c 中的類,然後通過類封裝各個操作步驟。這些操作實現後就需要 來測試,號稱demo,就是main函式裡面...
資料結構 鍊錶
鍊錶中的資料是以節點來表示的,每個結點的構成 元素 資料元素的映象 指標 指示後繼元素儲存位置 元素就是儲存資料的儲存單元,指標就是連線每個結點的位址資料。鍊錶的結點結構 data next data域 存放結點值的資料域 next域 存放結點的直接後繼的位址 位置 的指標域 鏈域 以 結點的序列 ...
資料結構 鍊錶
一般的建立線性鍊錶有兩種 1.正序法 需要三個指標,head作為頭指標,pre作為前乙個指標,cur作為當前指標用來建立空間 2.倒序法,利用指標的插入,只需要兩個指標,不斷的往頭指標後插入新空間,不過插入的越早,離頭指標越遠,也就越後面輸出 1.線性鍊錶的建立及查詢刪除 include inclu...