單鏈表的一些操作

2021-09-13 14:24:58 字數 1025 閱讀 3328

//1、有頭結點方便對首元資料元素的刪除,插入操作。不帶頭結點要判斷是不是作用在首元,是就得改變頭指標指向。

//2、頭結點資料域可以存表長。(head->data-k+1)取倒數第k個元素。——兩遍。

//(走一遍,定義兩個指標,先走乙個,使兩個之間相差k個位置,再一起移動,走得快的的走到空了,走得慢的的資料域就是指定元素。)

//#include

#include

typedef struct lnode

lnode,*linklist;//listlist p==lnode *p

void init(linklist *l)//引用用&,下面直接用p。

//或者int init()

////void creat(linklist l, int n)

//linklist creat(int n)

return h;

}void outprint(linklist l)

//或者 lnode *p=l; while(p->next) printf("");比較彆扭,放棄!}

int length(linklist l)

return count;}

int locate(linklist l, int i)

if(!p||count>i)//左界之外和右界之外

if (count == i) return p->data;

return null;

}int main()

//頭插法和尾插法

//空白表,建結點,將資料存入資料域,將該新結點插到鍊錶前端。先接後面的結點。

//如在頭結點後插入s;

//s->next = l->next;

//l->next = s;

//先來的在後面,所以是個逆序表。

////尾插法——正序。

//while(p->next)太麻煩,建立乙個尾指標。

//r->next=s;

//s->next=null;注意不能忘,否則鍊錶沒有結束。可以放在最前面。

單鏈表的一些常用操作

include include include define ok 1 define error 0 define true 1 typedef struct lnodelnode,linklist linklist是結構指標,在下面定義結構體指標的時候不能夠加 獲得單鏈表第i個位置處的元素,賦值給...

單鏈表的一些基本操作

本文主要介紹了單鏈表的初始化 頭插 頭刪 尾插 尾刪 查詢 指定位刪除 指定數刪除 指定位插入 銷毀 排序等.標頭檔案 ifndef linklist h define linklist h include include includetypedef int datatype typedef st...

單鏈表的建立和一些操作

個人建立的乙個類,實現單鏈表的基本操作,算是對資料結構知識的一點溫習.ifndef templist h define templist h include include template class node node t data,node next1 null 構造節點,指定元素和後繼結點 ...