C語言資料結構單鏈表的實現

2021-08-04 18:29:56 字數 1237 閱讀 6877

對於單鏈表這種結構來說,如何理解指標還有插入刪除等操作的實質是非常重要的,我今天晚上繼續完成昨天的單鏈表留下的任務,現在對於指標的指示的原理還不是那麼的清晰,這個確實比較難!不過既然已經實現了功能,就先這樣吧!

#include

using namespace std;

typedef struct lnode

lnode;//定義單鏈表結點型別

void initlist(lnode *l)//初始化單鏈表

void printlist(lnode *l)//列印輸出單鏈表,因為不用改變鍊錶

//所以就不需要引用值型別

//當指標p的next域不是空的時候,

//也就是說p不是最後乙個結點的時候

//這個時候就一直輸出並繼續向後走    

cout

r = l;//r指向頭結點

for(i=0;i<=n;i++)

r->next = null;

//當陣列a中所有的元素都已經裝入鍊錶c中,c的終端

//結點的指標域置為null,鍊錶建立完成。     

}void listinsert(lnode *&l,int n,int x)

lnode *p;

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

//p是新建立的結點,後面用來插入到鍊錶裡面的

p->data = x;//把目標值x放在新建立的p的data域

p->next = s->next;//然後再修改指標插入p

s->next = p;

}void deletelist(lnode *&l,int n)

//建立兩個結構體指標,乙個指向要刪除的結點位置

//乙個指向要刪除結點位置的前乙個結點的位置     

m = s->data;

s->next = p->next;

free(p);//釋放要刪除的結點

}void listmodify(lnode *&l,int n,int x)

s->data = x;

}void findinlist(lnode *l)

if(leap==0)

cout<

結果輸出如圖:

資料結構(c語言)單鏈表的實現

include include include using namespace std typedef int elemtype typedef struct lnodelnode,linklist 這裡的lnode是結構體的別名,不是結構變數名 而linklist是struct lnode 的別名...

資料結構 單鏈表c語言實現

list.h如下 ifndef list h define list h typedef struct node node,list void initlist list list bool insert head list list,int val bool insert tail list li...

資料結構 單鏈表 c語言實現

建立結構體 node typedef struct node node,pnode 在堆記憶體上 動態建立結構體p指標 頭指標 指向頭節點的指標變數 頭節點 沒有有效資料,但是指向首節點的,結構體 首節點 第乙個含有有效資料,並儲存下個有效節點的指標 尾結點 最後乙個含有效資料,不指向下個節點位址,...