由於使用 引用更加方便,所以以後採用資料結構一書中的**格式
**如下:
#include #include typedef int elemtype;
typedef struct lnodelnode,*linklist;
/* 頭部插入法 從空表開始,生成新結點,將讀取的資料存放進入新結點的資料域中。
linklist list_headinsert(linklist &l);
尾部插入法 從空表開始,生成新結點,將讀取的資料存放進入新結點的資料域中。
linklist list_tailinsert(linklist &l);
按照序號查詢操作
linklist getelem(linklist l,int i);
按結點查詢操作
linklist locateelem(linklist l,elemtype e);
給定序號前插
bool listfrontinsert(linklist l,int i,elemtype e);
刪除結點操作
bool listdelete(linklist l,int i);
求表長操作
int getlenght(linklist l);
輸出鍊錶中的資料
void printlist(linklist l);
*/// ***********實現
linklist list_headinsert(linklist &l)
return l;
}linklist list_tailinsert(linklist &l)
r->next=null;
return l;
} linklist getelem(linklist l,int i)
return p;
}linklist locateelem(linklist l,elemtype e)
bool listfrontinsert(linklist l,int i,elemtype e)
bool listdelete(linklist l,int i)
int getlenght(linklist l)
return len;
} void printlist(linklist l)
printf("\n");
}int main()
search = locateelem(l,3);
if(search!=null)
listfrontinsert(l,2,99);
printlist(l);
printf("the lenght of list %d\n",getlenght(l));
listdelete(l,4);
printlist(l);
printf("the lenght of list %d\n",getlenght(l)); }
/*you can out,if you input 9999
3 4 5 6 7 9999
3 4 5 6 7
按序號查詢成功
4按值查詢成功
33 99 4 5 6 7
長度為 63 99 4 6 7
長度為 5
*/
雙鏈表與單鏈表其中**大量相似**如下:
#include#includetypedef int elemtype;
typedef struct dnodednode,*dlinklist;
/* dlinklist dlist_headinsert(dlinklist &dl);
dlinklist dlist_tailinsert(dlinklist &dl);
dlinklist getelem(dlinklist dl,int i);
dlinklist locateelem(dlinklist dl,elemtype e);
bool dlistfrontinsert(dlinklist dl,int i,elemtype e);
bool dlistdelete(dlinklist dl,int i);
void printdlist(dlinklist dl);
*/dlinklist dlist_headinsert(dlinklist &dl)
dl->next = s;
s->prior = dl;
scanf("%d",&x);
} return dl;
}dlinklist dlist_tailinsert(dlinklist &dl)
return dl;
}dlinklist getelem(dlinklist dl,int i)
return p;
}dlinklist locateelem(dlinklist dl,elemtype e)
bool dlistfrontinsert(dlinklist dl,int i,elemtype e)
bool dlistdelete(dlinklist dl,int i)
free(p);
return true;
}void printdlist(dlinklist dl)
printf("\n");
}int main()
search=locateelem(dl,4);
if(search!=null)
dlistfrontinsert(dl,3,99);
printdlist(dl);
dlistdelete(dl,2);
printdlist(dl);
}
資料結構 線性表 單迴圈鍊錶
資料結構 線性表的鏈式表示 單鏈表 迴圈鍊錶 線性表元素序號從1算起 date 2017 4 13 include include define initsize 100 define elemtype char typedef struct lnodelnode,linklist linklist...
資料結構 線性表 鍊錶
在之前了解完什麼是資料結構之後 資料結構 線性表 順序表 陣列 我們再來看看線性結構另外一種實現方式 鍊錶順序表中的鍊錶沒有物理上的連續儲存要求,只需要在儲存資料時通過 鏈 的方式將資料進行連線,而這個 鏈 的實現就是通過指標來實現的。鍊錶的連續儲存方式 對於抽象資料型別來說,每一種資料結構都有自己...
資料結構 線性表 雙鏈表
資料結構 線性表的鏈式表示 雙鏈表 線性表元素序號從1算起 date 2017 4 13 include include define initsize 100 define elemtype char typedef struct lnodelnode,linklist linklist crea...