#include#includeusing namespace std;
typedef int elementtype;
typedef struct lnode *ptrtonode;
struct lnode;
typedef ptrtonode list;//頭指標
typedef ptrtonode position;//代表位置的指標
/*初始化乙個空的線性表*/
list makeempty()
//求線性表 ptrl的表長
int length(list ptr)
return j;
}/*注意這裡不能直接用return p 否則在k<0的時候也會返回頭指標 主要是要注意考慮k的所有情況*/
list findkth(list l,int k)
if(i==k)
return p;
else
return null;
}list find(list l,elementtype x)
/*在i之前插入乙個元素 x*/
list insert(elementtype x,int i,list ptr)
p=findkth(ptr,i-1);
if(p==null)else
}/*這裡的主要邏輯為 如果鍊錶當中沒有元素,就不用再對鍊錶進行刪除
如果鍊錶當中有元素
為第乙個元素
不為第乙個元素
查詢i-1 找不到肯定是沒有 如果找到了的話 是最後乙個那麼第i個元素也不存在*/
list delete(list ptr,int i)
list p;//指向要被刪除的元素的前乙個元素
list s;//指向要被刪除的元素
if(i==0)
p=findkth(ptr,i-1);
if(p==null)else if(p->next==null)else
}int main()
線性表的鍊錶實現
include include define elemtype int typedef struct lnode list struct lnode struct lnode l list ptrl list makeempty list ptrl 建立空表 int length list ptrl...
線性表的鍊錶實現
include printf輸出函式和scanf輸入函式所在標頭檔案 include exit退出函式所在標頭檔案 include malloc動態記憶體分配函式 realloc函式所在的標頭檔案 includeusing namespace std 用 define巨集定義來定義符號常量 函式結果...
Java實現鍊錶,線性表
package mylist public inte ce list linklist package mylist public class linklist implements list system.out.println 插入0到19 list.output system.out.prin...