線性表的鍊錶實現形式

2021-08-07 09:02:07 字數 1024 閱讀 3010

#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...