C 資料結構 普通鍊錶

2021-07-07 06:11:56 字數 1520 閱讀 9813

昨晚想看圖的資料結構,於是開啟了書。。惡補鍊錶。。。

才意識到乙個結點裡指向下乙個結點是指標,每次改變節點的指向時需要乙個中間變數。。我真是太愚蠢了。。。上**。。

**如下:

#pragma warning(disable:4996)

#include#include#include#include#include#include#include#include#include#include#include#includeusing namespace std;

//鍊錶

class chain;

//結點

class chainnode

private:

int data;

chainnode *link;

};class chain //constructor

~chain() //destructor

int length();//返回鍊錶結點數

chainnode* getfirst();//返回鍊錶首位置

void delete(chainnode *x);//刪除鍊錶中某個任意結點的指標

void deleteodd();//刪除鍊錶中奇數序號結點

void insert(chainnode *x);//在尾端插入結點

void merge(chain &x, chain &y);//合併鍊錶,合併之後將x、y設定成空鍊錶

void desorder(chain &x, chain &y);//按非降序合併鍊錶,合併後將x、y設定成空鍊錶

private:

chainnode *first;

};//返回鍊錶結點數

int chain::length()

//返回鍊錶首位置

chainnode* chain::getfirst()

//刪除鍊錶中某個任意結點的指標

void chain::delete(chainnode *x)

else

}//在尾端插入結點

void chain::insert(chainnode *x)

//刪除鍊錶中奇數需要結點

void chain::deleteodd()

//合併鍊錶,合併之後將x、y設定成空鍊錶

void chain::merge(chain &x, chain &y)

while (prey)

while (prex)

x.first->link = y.first->link = null;

}//按非降序合併鍊錶,合併之後將x、y設定成空鍊錶

void chain::desorder(chain &x, chain &y)

else

} while (prey)

while (prex)

x.first->link = y.first->link = null;

}int main(void)

資料結構 鍊錶(C )

typedef int rank define listnodeposi t listnode template class listnode listnode t e,listnodeposi t p null,listnodeposi t s null data e prenode p back...

C 資料結構 鍊錶

理論基礎 鍊錶是用一組任意的儲存單元來儲存線性表中的資料元素。如果結點的引用域只儲存該結點直接後繼結點的儲存位址,則該鍊錶叫單鏈表 singly linked list 單鏈表由頭引用h唯一確定。頭引用指向單鏈表的第乙個結點,也就是把單鏈表第乙個結點的位址放在h中。c 實現 1介面 引用線性表的介面...

C 資料結構 鍊錶

資料結構2 鍊錶.cpp 此檔案包含 main 函式。程式執行將在此處開始並結束。include pch.h include using namespace std typedef struct lnode 定義乙個節點 list void createla list l,int n,int len...