單鏈表中一趟遍歷找出值最大節點

2021-06-09 23:49:59 字數 763 閱讀 8067

/*

這個題就沒什麼演算法了,直接利用兩個指標,指向兩個

節點,p1 p2,p1指向兩者較大的,最後p1所指向的就是

表中值最大的節點

*/#include using namespace std;

//*****************結構體********************

typedef struct node

node;

//*****************初始化表*******************

void initlink(node* &l)

//*****************建立表**********************

void creatlink(node* l)

delete s;

}//*****************列印表************************

void print(node* l)

coutp2 = p1->next;

while(p2)

else

}return p1;

}int main()

{ node* l;

initlink(l);

creatlink(l);

cout<<"鍊錶為:";

print(l);

node* p = searchmax(l);

cout<<"表中最大值為:";

cout

遍歷一次實現單鏈表順序反轉

近日在閱讀 程式設計之美 中看到,單鏈表在不告訴頭指標的情況下完成刪除指定節點的方法,演算法為將刪除節點的下乙個節點的資料copy到刪除節點中,再刪除刪除節點的下乙個節點,從而實現移花接木的效果,完成對要求刪除節點資料刪除的目的。如下 pcurrent next pnext next pcurren...

基本操作之一(單鏈表的建立與遍歷)

一 使用typedef 建立構造資料型別時 1 typedef struct lnode 2 lnode,linklist 若有迭代 在第四行 則第一行的 lnode 不可省略。二 lnode 和 linklist是等價的 都可以用來指向新的節點 為了提高程式的可讀性,在此對同一結構體指標型別起了兩...

兩個單鏈表相交,找出第乙個交點

給兩個單鏈表,如何判斷兩個單鏈表是否相交?若相交,則找出第乙個相交的節點 解這道題之前,我們需要首先明確乙個概念 如果兩個單鏈表有共同的節點,那麼從第乙個共同節點開始,後面的節點都會重疊,直到鍊錶結束 因為兩個鍊錶中有乙個共同節點,則這個節點裡的指標域指向的下乙個節點位址一樣,所以下乙個節點也會相交...