#include #include /* 下面的單鏈表是帶頭節點的 */
typedef int elementtype;
struct listnode ;
typedef struct listnode list;
// 函式宣告
int insert (list *tmp, elementtype x, int pos);
void print (list *tmp);
int getlength (list *tmp);
int delete (list *tmp, int pos);
int main ()
print(head);
insert(head, 999, 11);
print(head);
delete(head, 1); //刪除第1個節點
printf("刪除節點後的效果\n");
print(head);
return 0;
}// 插入
// 引數說明: 要插入的鍊錶 插入值 插入位置
// pos的合法取值範圍是 [1, length+1]
// 取值為1代表插入到第1個節點之前, 取值為length+1代表插入到表尾
int insert (list *tmp, elementtype x, int pos)
ptr = tmp; // ptr指向頭結點
while (count < pos)
cur = (list*)malloc(sizeof(list));
cur->data = x;
cur->next = ptr->next;
ptr->next = cur;
return 0;
}// 得到鍊錶的長度
int getlength (list *tmp)
return length;
}// 迴圈列印輸出鍊錶資訊
void print (list *tmp)
printf("\n");
printf("\n");
}// 刪除
// 刪除給定位置上的節點
int delete (list *tmp, int pos)
int count = 1;
list *ptr;
list *poscur; // 存放要刪除節點的指標
ptr = tmp;
// 找到 pos-1 這個節點
while (count < pos)
// 迴圈結束後 ptr 指向 pos-1 這個節點
poscur = ptr->next;
ptr->next = poscur->next;
free(poscur);
return 0;
}
線性表的鏈式儲存
此方法雖然簡單,但是真寫起來太複雜了。線性表的鏈式儲存 include include struct lnode 線性表的初始化 void init l lnode l 線性表的後插建立 void create l1 lnode l n next null 線性表的後插建立 void create ...
線性表的鏈式儲存
引言 一 單鏈表 相較於順序儲存用連續的儲存單元儲存,單鏈表採用鏈式儲存結構,用一組位址任意的儲存單元儲存資料元素。特點 1 儲存單元可以是不連續的,即邏輯結構與物理結構可以不相同 2 元素用結點儲存,每個結點由元素值和下乙個元素的位址構成 3 單鏈表是由每個結點的指標域按照邏輯次序相互連線而成的。...
線性表的鏈式儲存
include include include typedef int elemtype typedef struct nodenode,nodeptr 鍊錶節點 typedef struct listlist,listptr 鍊錶,頭結點為0位置 listptr initlist 初始化鍊錶 vo...