昨晚想看圖的資料結構,於是開啟了書。。惡補鍊錶。。。
才意識到乙個結點裡指向下乙個結點是指標,每次改變節點的指向時需要乙個中間變數。。我真是太愚蠢了。。。上**。。
**如下:
#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...