對比了好幾本書,比較少涉及單鏈表的賦值,為了親自跑出其他功能,花了不少時間,畢竟是打基礎嘛,相信以後會越來熟練(你為什麼那麼熟練,明明是我先~)話不多說,下面是**及實驗結果。
#include
#include
#define elementtype int
#define maxsize 1000
#define error -1
/*線性表-順序表-結構體定義*/
typedef
struct lnode *ptrtolnode;
struct lnode ;
struct lnode l;
ptrtolnode ptrl = &l;
/*初始化-賦值*/
ptrtolnode creatnewlist(ptrtolnode ptrl , int data)
else
return ptrl;
}/*遍歷-列印*/
int shownewlist(ptrtolnode ptrl )
printf("\n");
return1;}
/*遍歷-求表長*/
int length(ptrtolnode ptrl)
return j;
}/* 按序查詢 */
/* 查詢第k個數,並返回其值的指標 */
ptrtolnode findkth( int k, ptrtolnode ptrl )
if ( i == k ) return p; /* 如果找到,返回指標 */
else
return null;
}/* 按值查詢 */
/* 查詢x,並返回其值位置 */
int find( int x, ptrtolnode ptrl )
return j;
}/* 插入 */
/* 必須知道前乙個節點才能插入 */
ptrtolnode insert( ptrtolnode ptrl, elementtype x, int i )
p = findkth(i-1,ptrl);
if(p == null)
else
}/* 刪除 */
/* 必須知道前乙個節點才能刪除 */
ptrtolnode delete( ptrtolnode ptrl, int i)
p = findkth(i-1,ptrl);
if(p == null)
else
if(p->next == null)
else
}void destorylist( ptrtolnode ptrl )
}int main()
l = length(ptrl);
printf("length = %d \n",l);
shownewlist(ptrl);
printf("find kth number, input k :");
scanf("%d",&k);
find1 = findkth( k, ptrl );
printf("kth = %d\n",find1->data);
printf("find a number, input number :");
scanf("%d",&x);
j = find( x, ptrl );
printf("%d is in the %d th position\n", x,j);
printf("insert m in m ,input m m :");
scanf("%d %d",&m,&m);
ptrl = insert( ptrl, m, m );
shownewlist(ptrl);
printf("delete d th number, input d :");
scanf("%d",&d);
ptrl = delete( ptrl, d);
shownewlist(ptrl);
destorylist(ptrl);
return
0;}
資料結構 線性表之單鏈表
線性表 亦作順序表 是最基本 最簡單 也是最常用的一種資料結構。線性表中資料元素之間的關係是一對一的關係,即除了第乙個和最後乙個資料元素之外,其它資料元素都是首尾相接的。線性表有兩種儲存結構 順序儲存結構,即儲存單元在一段連續的位址上儲存,常見的陣列就是順序儲存結構的線性表 鏈式儲存結構,即儲存單元...
資料結構專題 線性表之單鏈表及其Java實現
儘管我們在遇到頻繁訪問列表中元素時,arraylist是乙個很好的選擇 但當我們需要頻繁新增 刪除列表中元素,尤其是在表的前端進行增刪操作時,arraylist就不是乙個特別好的選擇了。為了解決新增 刪除元素時需要大量其它元素移動的問題,我們今天一起來接觸在記憶體中鏈式儲存的線性表 也稱為鍊錶 鏈式...
C資料結構 線性表之單鏈表
單鏈表的設計之初,筆者在考慮乙個首要的問題,就是單鏈表的節點是在插入的函式內部建立,還是在函式外部建立。考慮到使用者在插入的時候,變數生命週期的不確定性以及容易造成記憶體洩漏等問題,綜合考慮之下使用了內部建立節點的方式。筆者設計的單鏈表中包含了單鏈表的反轉和合併等有趣的操作,其中的奧妙如果讀者有興趣...