主要實現了頭插,頭刪,尾插尾刪,任意位置的插入刪除,鍊錶的逆置以及鍊錶的深淺拷貝
在這裡說明一下,鍊錶用的最多的就是資料的插入什麼的,所以這裡解決深淺拷貝問題,用的是深拷貝,單鏈表,順序表也是一樣,都是用了深拷貝。
雙向煉表相比較於單鏈表而言,相對複雜一點,有兩個指標,來進行實現鏈式結構
先面試具體**
#include
#include
using namespace std;
typedef int datatype;
struct listnode
}; class list
list(const list
& l)
:_head(null)
,_tail(null)
list
& operator=(const list
& l)
return
*this;
}~list()
void pushback(datatype x)
else
}void popback()
*/else
}void pushfront(datatype x)
else
//insert(_head,x);
}void popfront()
// 在pos的前面插入乙個
void insert(node* pos, datatype x)
else
}void erase(node* pos)
else
if(pos==_tail)
else
}node* find(datatype x)
cur = cur->_next;
}return
null;
}void reverse()}}
void print()
cout<}
void clear()
_head = _tail =
null;
}void copy(const list
&l)
}private:
node* _head;
node* _tail;
}; void listtest()
void listtest1()
void listtest2()
c 實現單 雙鏈表
單鏈表 include using namespace std typedef int datatype struct slistnode 在c 中結構體也就是乙個類 typedef slistnode node class slist slist const slist s head null t...
雙鏈表實現
一 實驗目的 鞏固線性表的資料結構的儲存方法和相關操作,學會針對具體應用,使用線性表的相關知識來解決具體問題。二 實驗內容 建立乙個由n個學生成績的順序表,n的大小由自己確定,每乙個學生的成績資訊由自己確定,實現資料的對錶進行插入 刪除 查詢等操作。分別輸出結果。三 源 includeconst i...
雙鏈表實現
以前寫的不帶頭的單鏈表實現,當時也啥也沒學,好多東西不知道,加上一心想壓縮 減少情況,所以寫得不太好。請教了老師,首先是命名問題和 緊湊性等的改進。還有可讀性方面的改進,多寫了一些注釋。並且因為帶頭的比較好寫,好操作,所以標準寫法也不是很長,繁瑣。下面貼 include include includ...