《大話資料結構》之單鏈表

2021-07-05 10:02:49 字數 1224 閱讀 9214

#define ok 1

#define error 0

#define true 1

#define false 0

typedef int status;

typedef int elemtype;

#define maxsize 20

typedef struct

sqlist;

typedef struct node

;typedef struct node *linklist;

//用e返回l中第i個資料元素的值

status getelem(linklist l,int i,elemtype *e)

if(!p || j > i)

*e = p->data;

return ok;

}//在l中第i個節點位置之前插入新的資料元素e,l的長度增加1

status listinsert(linklist l,int i,elemtype e)

if(!p || j > i)

s = (linklist)malloc(sizeof(node));

s->data = e;

s->next = p->next;

p->next = s;

return ok;

}//刪除l的第i個節點,並用e返回其值,l的長度減一

status listdelete(linkelist l,int i,elemtype e)

if(!(p-next) || j > i)

q = p->next;

p->next = q->next;

*e = q->data;

free(q);

return ok;

}//隨機產生n個元素的值,建立帶有表頭節點的單鏈線性表l(新增節點插在表頭)

void createlisthead(linklist l,int n)

}//隨機產生n個元素的值,建立帶表頭節點的單鏈線性表l(新增節點插在鍊錶尾部)

void createlisttail(linklist l,int n)

r->next = null;

}//清空單鏈表,從表頭開始,單保留頭結點

status clearlist(linklist l)

l->next = null;

return ok;

}

資料結構之單鏈表

date 08 07 06 descript 單鏈表的實現與應用 public class linlist public node gethead 定位函式 public void index int i throws exception if i 1 current head.next int j...

資料結構之單鏈表

鍊錶 儲存結構的一種,包含兩個部分,資料域和指標域,相對於順序儲存結構來說,插入和刪除的演算法時間複雜度只為o 1 定義 定義 typedef struct node linklist linklist,指標指向每乙個元素 typedef struct nodenode 以下為簡單的c語言實現 in...

資料結構之單鏈表

由於順序表再插入或者刪除時需要移動大量資料,並且如果表比較大,會比較難分配連續的儲存空間導致儲存資料失敗。因此可以採用鍊錶結構,鍊錶結構是一種動態儲存分配的結構形式,可以根據需要動態的申請所需的儲存單元。鍊錶又分為單鏈表,雙向鍊錶,以及單迴圈鍊錶,多重鏈的迴圈鍊錶。本文先介紹單鏈表。典型的單鏈表結構...