explicit cmyseqlist(int size);
public: // 複製建構函式、賦值運算
cmyseqlist(const cmyseqlist& sl);
cmyseqlist& operator=(const cmyseqlist& sl);
public: // 成員函式
int length( ) const;
int find(int& x) const; //查詢
int locate(int i) const定位
int insert(int& x, int i ); //插入
int remove(int& x刪除
int next(int& x後繼
int prior(int& x前驅
bool isempty( );
bool isfull ( );
int get(int i提取
private: // 成員變數
int * _data;
int _cursize;
int _maxsize;
};#endif // !defined(afx_myseqlist_h__22afe5a1_96f2_480a_b8ea_351e1df49cf7__included_)
順序錶類的部分:
// myseqlist.cpp: implementation of the cmyseqlist class.
//#include "stdafx.h"
#include "myseqlist.h"
#include
using namespace std;
// construction/destruction
cmyseqlist::cmyseqlist()
: _data(null)
, _cursize(0)
, _maxsize(0)
cmyseqlist::cmyseqlist(int size)
: _cursize(0)
, _maxsize(size)
//析構函式
cmyseqlist::~cmyseqlist()
//複製建構函式
cmyseqlist::cmyseqlist(const cmyseqlist& sl)
//_data = sl._data;
_cursize = sl._cursize;
_maxsize = sl._maxsize;
}// 賦值運算子
cmyseqlist& cmyseqlist::operator=(const cmyseqlist& sl)
int cmyseqlist::length() const
int cmyseqlist::find(int& x) const //查詢
int cmyseqlist::locate(int i) const //定位
int cmyseqlist::insert(int& x, int i ) //插入
int cmyseqlist::remove(int& x刪除
}return isdel;
}int cmyseqlist::next(int& x後繼
}return -1;
}int cmyseqlist::prior(int& x前驅
}return -1;
}bool cmyseqlist::isempty( )
bool cmyseqlist::isfull ( )
int cmyseqlist::get (int i提取
函式實現部分:
// wmy_myseqlist.cpp : defines the entry point for the console application.
#include "stdafx.h"
#include"myseqlist.h"
#include
using namespace std;
int main(int argc, char* ar**)
cout<<"輸出線性表:"< cout << "myseqlist:\n";
for (int j = 0; j < sl.length(); ++j)
cout << sl.get(j) << " ";
cout << endl;
cout<<"輸出插入乙個數的線性表:"< int x = 5;
sl.insert(x, 2);
cout << "myseqlist:\n";
for (j = 0; j < sl.length(); ++j)
cout << sl.get(j) << " ";
cout << endl;
cout<<"輸出刪除乙個數的線性表:"< sl.remove(x);
cout << "myseqlist:\n";
for (j = 0; j < sl.length(); ++j)
cout << sl.get(j) << " ";
cout << endl;
cmyseqlist sl2(sl);
cout<<"輸出線性表的copy:"< cout << "myseqlist2:\n";
for (j = 0; j < sl2.length(); ++j)
cout << sl2.get(j) << " ";
cout << endl;
return 0;
}四、演算法測試資料及其執行結果
五、實驗小結(問題及心得)
說實話,以前的c++學的很爛,基本上就是個小白。不過老師給了我們乙個半成品,然後我參照《資料結構》書上的例項,上網查詢資料,最後終於完成了。總結完成本次實驗就是要先定義好類,然後編寫順序表的各種操作,例項化後看結果是否正確。
實驗名稱:二叉樹的構建與遍歷
一、實驗目的
充分理解二叉樹的類的定義;設計資料結構和演算法,實現按層次構造二叉樹的演算法;掌握樹的前根序、中根序和後根序遍歷演算法。
二、實驗內容
利用c++語言程式設計實現二叉樹的構建及其先序、中序、後序遍歷演算法
三、關鍵問題描述及其實現**
關鍵問題描述:要求能夠按先序遍歷次序輸入二叉樹中結點的值來構造二叉樹cmybintree;然後用遞迴和非遞迴演算法實現二叉樹cmybintree的中序遍歷;接著編寫演算法實現求二叉樹cmybintree中指定結點的路徑,即從鍵盤輸入二叉樹cmybintree的任一結點,可以輸出從根結點到該結點所經歷的結點。
軟體設計與體系結構
延安大學計算機學院實驗報告專用紙 姓名實驗室 軟體實驗室機號 實驗日期 年月日 班級軟體15課程名稱軟體設計與結構任課教師指導教師 實驗專案名稱軟體體系結構風格之kwic關鍵詞索引系統 實驗組別第組 學號教師評語及成績 實驗成績 教師簽字 一 實驗目的和要求 鞏固和加強 軟體體系結構 課程中關於軟體...
哈爾濱工程大學2019級軟體設計與體系結構B卷
哈爾濱工程大學本科生考試試卷 2014 2015 年 2 學期 課程編號 0920116 課程名稱 軟體設計與體系結構 一 填空題 每空1分,共10分 1.gof設計模式根據目的準則可分為和 三種模式。2.遠端 為處於相同或不同機器上不同位址空間中的物件提供 3.就乙個類而言,應該只有乙個引起它變化...
2019軟體設計師下午試題分析與解答
試題一 共15分 閱讀以下說明和圖,回答問題1至問題4,將解答填入答題紙的對應欄內。說明 某音像製品出租商店欲開發乙個音像管理資訊系統,管理音像製品的租借業務。需求如下 1 系統中的客戶資訊檔案儲存了該商店的所有客戶的使用者名稱 密碼等資訊。對於首次來租借的客戶,系統會為其生成使用者名稱和初始密碼。...