資料結構 單鏈表

2021-10-19 11:52:12 字數 2394 閱讀 7326

不帶頭結點的單鏈表

typedef struct lnode //定義單鏈表節點型別

lnode,*linklist;

void initlist(linklist *l)

;//判斷單鏈表是否為空

int empty(linklist l)

else

};void test()

;

帶頭結點的單鏈表
typedef struct lnode //定義單鏈表節點型別

lnode,*linklist;

//初始化乙個單鏈表(帶頭節點)

int initlist(linklist l)

;//判斷單鏈表是否為空

int empty(linklist l)

else

};void test()

;

按位序插入(帶頭結點)
//按位序插入

//在第i個位置插入元素e(帶頭結點)

int listinsert(linklist *l,int i,int e)

if(p==null)//i值不合法

return 0;

lnode *s =(lnode *)malloc(sizeof(lnode));

s->data=e;

s->next=p->next;

p->next=s;//將節點s連到p之後

return 1;//插入成功

}

按位序插入(不帶頭結點)
//按位序插入

//在第i個位置插入元素e(不帶頭結點)

int listinsert(linklist *l,int i,int e)

lnode *p;

int j=1;

p=l;

while (p!=null&&jnext;

j++;

}if(p==null)//i值不合法

return 0;

lnode *s =(lnode *)malloc(sizeof(lnode));

s->data=e;

s->next=p->next;

p->next=s;//將節點s連到p之後

return 1;//插入成功

}

指定結點後插操作
//指定結點後插操作

//後插操作:在p結點之後插入元素e

bool insertnextnode(lnode *p,int e)

指定結點前插操作
//指定結點前插操作

//前插操作:在p結點之前插入元素e

bool insertpriornode(lnode *p,int e)

按位序刪除
//按位序刪除

bool listdelete(linklist *l,int i,int *e)

if (p==null)//i值不合法

return false;

if(p->next==null)//第i-1個結點之後已無其他結點

return false;

lnode *q =p->next; //令q指向被刪除結點

e =q->data; //用e返回元素的值

p->next=q->next;

free(q);//釋放

return true;//刪除成功

}

刪除指定結點
//刪除指定結點

bool deletenode(lnode *p)

按位查詢(帶頭結點)
//按位查詢(帶頭結點)

lnode * getelem(linklist l,int i)

return p;

}

按值查詢
//按值查詢

lnode * locateelem(linklist l,int e)

表的長度
//求表的長度

int length(linklist l)

return len;

}

尾插法建立單鏈表
//尾插法建立單鏈表

linklist list_tailinsert(linklist *l)//正向建立單鏈表

r->next=null;//尾結點指標置空

return l;

}

頭插法建立單鏈表
//頭插法建立單鏈表

linklist list_headinsert(linklist l)//逆向建立單鏈表

return l;

}

資料結構單鏈表

初學資料結構,貼段自己編寫的單鏈表程式,希望自己能夠一直以強大的學習熱情持續下去!自勉!2012年3月30日 於大連 include using namespace std typedef struct node linklist,node linklist makelist int n void ...

資料結構 單鏈表

今天浪費了好多時間,也許是心裡想著明天的考試吧 可自己也知道這次的考試,自己畢竟過不了了,只好等到今年11月份,想想那時自己已經大三了 還有那麼多時間嗎!很懊惱今天不知怎麼回事,感嘆環境真的可以影響乙個人,真的可以 把今天的學習筆記寫下來,沒有進行好好的整理,這回單鏈表的功能較多,操作比較散,最後乙...

資料結構 單鏈表

實現乙個單鏈表 1 查詢 查詢第index個節點 查詢指定的元素 2 插入 將指定的元素插入到第index個節點上 3 刪除 將第index個節點刪除 規律 刪除和新增元素前務必儲存兩個元素的位址引用資訊 public class mylinkedlist 記錄鍊錶結構的頭結點位址引用 privat...