資料結構 關與C 鍊錶插入與倒置問題

2021-10-25 02:20:26 字數 1915 閱讀 2499

@關與c++鍊錶插入與倒置問題

掌握c++鍊錶插入與倒置問題

學會新建鍊錶,倒置資料,列印資料

1、 引入c++模板庫 2、 學會struct結構體遞迴巢狀使用 3、 懂得使用前插法插入鍊錶資料 4、 掌握倒置鍊錶的資料方法

結構體內容:

// an highlighted block

typedef

struct lnodelnode,

*linklist;

前插法建立資料鏈

linklist createlist

(int n,

double j[

],string name)

return l;

//一定得返回頭節點啊!!!

}

列印資料內容

void

printlist

(linklist l)

}

倒置列表元素(關鍵):

csdn看了一些帖子,直接將頭結點置為尾結點,這是不對的!!!,頭結點只起指向作用,裡面木有data,被繞暈了很久總算想明白了~~頭結點當尾結點是裡面不能存放data,需保留頭結點再將其後面的結點倒置,最後鏈結到頭結點上~

linklist upsidedown

(linklist l)

l->next = p;

//將已經鏈好的結點付到頭結點後面

return l;

//返回鍊錶

}

以下是完成的完整**

#include

#include

#define error 0

#define ok 1

using namespace std;

typedef

double elemtype;

typedef

struct lnodelnode,

*linklist;

//前插法建立資料鏈

linklist createlist

(int n,

double j[

],string name)

return l;

//一定得返回頭節點啊!!!

}//列印資料內容

void

printlist

(linklist l)

}//倒置列表元素

//linklist upsidedown(linklist l)

// l->next=p;//讓頭結點變為末尾的結點

// return l; //返回鍊錶

//

//} //演算法出錯,頭結點當尾結點是裡面不能存放data,需保留頭結點再將其後面的結點倒置,最後鏈結到頭結點上~

linklist upsidedown

(linklist l)

l->next = p;

//將已經鏈好的結點付到頭結點後面

return l;

//返回鍊錶

}int

main()

;// double p=price[1];

// printf("%f",p);

string name[4]

=;//cout << name[2];

l =createlist(4

,price,name)

;printlist

(l);

cout <<

"倒置以後:\n"

; l =

upsidedown

(l);

printlist

(l);

}

博主第一次寫文章,有錯誤懇請指證別介意~~~

資料結構 鍊錶倒置

程式設計 用帶頭建立一單鏈表 用後插入法建立至少 10個結點以上 要求在原鏈基礎上,把該單鏈表倒置 原第一結點在最後,原最後一結點在第乙個資料結點的位置 注意 不能直接用 list 型別來程式設計 include using namespace std typedef struct node pos...

資料結構與演算法 遞增鍊錶的插入

題目描述 給定乙個遞增整數序列和某個整數m,構造出此遞增序列對應的鍊錶,並建立以m為值的新結點插入到鍊錶中,使其結果序列依然保持遞增順序。輸入每個輸入包含乙個測試用例,第1行包含原序列長度n 任意long int範圍內的正整數 與待插入的整數m 第2行包含n個遞增的整數代表原遞增數列。輸出根據此遞增...

資料結構 順序表與鍊錶

順序表插入操作 temp seqlist list temp賦值為乙個結構體變數 for i temp length i pos i pos是插入的位置,注意是ta是下標 temp i int node 放新結點 temp length 刪除操作 for int i pos 1 ilength i ...