鍊錶的基本演算法。

2021-08-20 17:43:10 字數 1958 閱讀 7840

今天我們來學習一波有關鍊錶的基本演算法。

#pragma once

#include#include#include#include// 值型別

typedef int datatype;

typedef struct slistnode slistnode;

// 初始化

void slistinit(slistnode **ppfirst)

void slistsetup(datatype data)

// 尾部插入

void slistpushback(slistnode** ppfirst, datatype data)

while(pnode->pnext!=null)

pnode->pnext=pnewnode;

free(pnewnode); //釋放。}

// 頭部插入

void slistpushfront(slistnode **ppfirst, datatype data)

else

free(pnewnode);

}// 尾部刪除

void slistpopback(slistnode **ppfirst)

pnode=*ppfirst;

while(pnode->pnext->pnext!=null) //這一步是為了找到倒數第二個數。將它的pnext賦值成null。

q=pnode->pnext;

pnode->pnext=null;

free(q);

}// 頭部刪除

void slistpopfront(slistnode **ppfirst)

// 給定結點插入,插入到結點前

void slistinsert(slistnode **ppfirst, slistnode *ppos, datatype data)

while(pnode->pnext!=ppos) //迴圈找到給定節點前的那個數。

pnode->pnext=pnewnode; //將它的pnext賦值成要插入的值。

free(pnewnode);}

// 給定結點刪除

void slisterase(slistnode **ppfirst, slistnode *ppos)

while(pnode->pnext!=ppos) //迴圈找到給定節點的上乙個數。

pnode->pnext=pnode->pnext->pnext; //pnode->pnext=ppos->pnext

free(ppos);

}// 按值查詢,返回第乙個找到的結點指標,如果沒找到,返回 null

slistnode *slistfind(slistnode *pfirst, datatype data)

} return null;

}// 按值刪除,只刪遇到的第乙個

void slistremove(slistnode **ppfirst, datatype data)

else

}// 按值刪除,刪除所有的

void slistremoveall(slistnode **ppfirst, datatype data)

else

} }}int slistsize(slistnode **ppfirst)//統計鍊錶中一共有多少個數

printf("the nnumber is %d\n",size); //輸出結果。

return 0;

}// 銷毀

void slistdestroy(slistnode **ppfirst)

*ppfirst=null;

}

以上就是我所編寫的演算法,其中可能有很多錯誤,希望大家給些意見。

問題 A 演算法2 8 2 11 鍊錶的基本操作

輸入資料只有一組,第一行有n 1個整數,第乙個整數是這行餘下的整數數目n,後面是n個整數。這一行整數是用來初始化列表的,並且輸入的順序與列表中的順序相反,也就是說如果列表中是1 2 3那麼輸入的順序是3 2 1。第二行有乙個整數m,代表下面還有m行。每行有乙個字串,字串是 get insert de...

鍊錶的基本操作

include include include include using namespace std struct listnode void initnode listnode node bool isempty listnode head void pushfront listnode hea...

鍊錶的基本操作

鍊錶操作是最基本的 必須掌握的知識點,最好滾瓜爛熟,透徹理解。工作時間短用的也不夠頻繁,還是總結一下比較好,以加強鞏固。1.單鏈表 結點形式 區分幾個概念 首節點 第乙個元素所在節點。頭指標 指向首節點的指標。頭結點 為了操作方便,在第乙個節點之前附設的乙個結點,此時指向頭結點的為頭指標。基本操作 ...