定義有序的雙鏈錶類,鍊錶中儲存整型資料,建立帶頭結點的有序雙鏈表,要求包含以下成員函式:
雙鏈表的建構函式(非空的鍊錶,輸入資料為0,表示輸入結束)
插入操作(將乙個資料元素插入到有序的雙鏈表中,插入之後鍊錶仍然有序,輸入資料為0表示插入操作結束)
按值刪除節點(考慮有重複值的情況)
雙鏈表的遍歷操作
雙鏈表的析構
輸入鍊錶中的元素,根據輸入元素,建立有序雙鏈表(非空的鍊錶,輸入資料為0,表示輸入結束)
輸入要插入的值(可以插入多個值,0表示輸入結束,)
輸入要刪除的值(可以刪除多個值,0表示結束,)
輸出建立的結果
輸出插入的結果
輸出刪除之後的結果
#include
#include
using
namespace std;
/*輸入鍊錶中的元素,根據輸入元素,建立有序雙鏈表(非空的鍊錶,輸入資料為0,表示輸入結束)
輸入要插入的值(可以插入多個值,0表示輸入結束,)
輸入要刪除的值(可以刪除多個值,0表示結束,)*/
template
<
class
t>
struct node
;template
<
class
t>
class
list
;template
<
class
t>
list
::list()
template
<
class
t>
list
::list
(int a,
int n)
}template
<
class
t>
void list
::print ()}
template
<
class
t>
void list
::cha
(int a,
int n)
p=p-
>rlink;}if
(p->rlink==
null)}
}template
<
class
t>
void list ::d
(int a,
int n)
p=p-
>rlink;}if
(p->rlink==
null
&&p-
>data==a[i])}
}bool
cmp(
int a,
int b)
intmain()
sort
(a1,a1+i,cmp)
; list <
int>
a(a1,i)
; a.
print()
; cout
while
(cin>>t&&t)
a.cha(a2,j)
; a.print ();
cout
while
(cin>>t&&t)
a.d(a3,k)
; a.print ();
}
有序雙鏈表的實現
總時間限制 100000ms 記憶體限制 655360kb 描述定義有序的雙鏈錶類,鍊錶中儲存整型資料,建立帶頭結點的有序雙鏈表,要求包含以下成員函式 雙鏈表的建構函式 非空的鍊錶,輸入資料為0,表示輸入結束 插入操作 將乙個資料元素插入到有序的雙鏈表中,插入之後鍊錶仍然有序,輸入資料為0表示插入操...
資料結構之 雙鏈表的實現
使用巢狀類實現 雙鏈表 學習要點 1 實現雙鏈表資料結構的定義以及各種操作 1 區別深拷貝 另外動態分配記憶體進行拷貝 和 淺拷貝 直接拷貝賦值 2 實現深拷貝構造和深拷貝賦值函式 3 實現操作運算子的過載 深拷貝賦值 輸出運算子過載 建立全域性函式,在類中定義時可宣告為friend函式 frien...
有序的雙鏈表的實現
定義有序的雙鏈錶類,鍊錶中儲存整型資料,建立帶頭結點的有序雙鏈表,要求包含以下成員函式 雙鏈表的建構函式 非空的鍊錶,輸入資料為0,表示輸入結束 插入操作 將乙個資料元素插入到有序的雙鏈表中,插入之後鍊錶仍然有序,輸入資料為0表示插入操作結束 按值刪除節點 考慮有重複值的情況 雙鏈表的遍歷操作 雙鏈...