定義有序的雙鏈錶類,鍊錶中儲存整型資料,建立帶頭結點的有序雙鏈表,要求包含以下成員函式:雙鏈表的建構函式(非空的鍊錶,輸入資料為0,表示輸入結束)
插入操作(將乙個資料元素插入到有序的雙鏈表中,插入之後鍊錶仍然有序,輸入資料為0表示插入操作結束)
按值刪除節點(考慮有重複值的情況)
雙鏈表的遍歷操作
雙鏈表的析構
輸入鍊錶中的元素,根據輸入元素,建立有序雙鏈表(非空的鍊錶,輸入資料為0,表示輸入結束)
輸入要插入的值(可以插入多個值,0表示輸入結束,)
輸入要刪除的值(可以刪除多個值,0表示結束,)
輸出建立的結果
輸出插入的結果
輸出刪除之後的結果
1 6 3 7 5 9 0
8 02 0
1 3 5 6 7 9
1 3 5 6 7 8 9
1 3 5 6 7 8 9
#include#include#include#include#include#include#include#include#include#include#includeusing namespace std;
typedef long long ll;
typedef double ld;
const int inf=0x3f3f3f3f;
int i,j,k;
int n,m,t;
int x,y;
int u,v,w;
int ans,res,cnt,temp,sum;
using namespace std;
struct node
;class dlinklist
;int a[1000];
dlinklist::dlinklist(int a,int n)
p->r=null;
}void dlinklist::delete_x(int x)
p=p->r;
}}void dlinklist::insert(int x)
p=p->r;
}if(flag)///此處特判一下插入的值是否是最大的,如果是則前面並沒有插入,需要尾插
s=new node;
s->data=x;
s->r=p->r;
p->r=s;
s->l=p;
}}void dlinklist::print()
else
p=p->r;
}}dlinklist::~dlinklist()
}int main()
sort(a+1,a+1+j);
dlinklist d_link(a,j);
d_link.print();
int first,second;
while(scanf("%d",&first))
d_link.print();
while(scanf("%d",&second))
d_link.print();
return 0;
}
有序雙鏈表的實現
總時間限制 100000ms 記憶體限制 655360kb 描述定義有序的雙鏈錶類,鍊錶中儲存整型資料,建立帶頭結點的有序雙鏈表,要求包含以下成員函式 雙鏈表的建構函式 非空的鍊錶,輸入資料為0,表示輸入結束 插入操作 將乙個資料元素插入到有序的雙鏈表中,插入之後鍊錶仍然有序,輸入資料為0表示插入操...
有序的雙鏈表的實現
描述 定義有序的雙鏈錶類,鍊錶中儲存整型資料,建立帶頭結點的有序雙鏈表,要求包含以下成員函式 雙鏈表的建構函式 非空的鍊錶,輸入資料為0,表示輸入結束 插入操作 將乙個資料元素插入到有序的雙鏈表中,插入之後鍊錶仍然有序,輸入資料為0表示插入操作結束 按值刪除節點 考慮有重複值的情況 雙鏈表的遍歷操作...
單鏈表與有序雙鏈表的實現
單鏈表的實現 描述定義單鏈錶類,建立帶頭結點的單鏈表 節點型別為整型資料 要求包含以下成員函式 頭插法建立單鏈表 利用建構函式實現 尾插法建立單鏈表 過載建構函式實現 鍊錶的遍歷 按值刪除乙個節點 按位置刪除乙個節點 鍊錶的析構 輸入輸入一組資料,以尾插法的形式建立單鏈表 表示輸入結束 構造第乙個鍊...