第十四周 任務一

2021-06-06 14:03:22 字數 1892 閱讀 8681

/* (程式頭部注釋開始)

* 程式的版權和版本宣告部分

* 檔名稱:建立專門的陣列類處理有關陣列的操作

* 作 者: 薛廣晨

* 完成日期: 2012 年 05 月18 日

* 版 本 號: x1.0

* 對任務及求解方法的描述部分

* 輸入描述:

* 問題描述:陣列是幾乎所支援的組織資料的方法。c和c++對陣列型別提供了內建支援,使我們利用陣列實現軟體中需要的各種實用的功能。但是,這種支援僅限於用來讀寫單個元素的機制。c++不支援陣列的抽象abstraction,也不支援對整個陣列的操作。例如:把乙個陣列賦值給另外乙個陣列,對兩個陣列進行相等比較或者想知道陣列的大小size,等等。對c++而言,陣列是從c語言中繼承來的,它反映了資料與對其進行操作的演算法的分離,有濃厚的過程化程式設計的特徵。陣列並不是c++語言的一等公民。所以在實際專案中,對乙個c++程式設計師,更多的是使用標準庫中提供的vector型別實現陣列功能。這個任務也將從物件導向角度重新審視和理解陣列,進而掃清自學vector等標準類中可能存在的障礙。在下面**的基礎上,完成支援陣列操作的類的設計,增強c++內建陣列型別功能。

在下面**的基礎上,完成支援陣列操作的類的設計,增強c++內建陣列型別功能。

* 程式頭部的注釋結束

*/#include using namespace std;

class myarray

;myarray::myarray(int sz)

else }

bool myarray::operator == (myarray& a) //過載==,使得array物件能整體判斷兩個陣列是否相等(size相等且對應元素相等)

return true;

} else return false;

}myarray myarray::operator + (myarray& a) //過載+,使兩個array物件可以整體相加(前提大小相等)【選做】

else

return my;

}

}ostream& operator << (ostream& out,myarray& a) //過載<

out << endl;

return out;

}int myarray::getsize(void)const //取陣列大小;

void myarray::resize(int sz) //修改陣列的大小,如果sz大於陣列的原大小,增加的元素初始為;sz小於陣列的原大小,捨棄後面的元素【選做】

else

arr = new int[sz];

for(i = 0;i < sz; ++i)

*(arr + i) = *(m + i);

size = sz;

}int main()

; int b[10]=;

myarray arr1(a,10);

myarray arr2(b,10);

myarray arr3(10);

cout << arr3;

arr3 = arr1 + arr2;

cout << arr3;

arr3.resize(20);

cout << arr3;

cout << arr3[5] << endl;

arr3.resize(5);

cout << arr3;

system("pause");

return 0;

}

上機感言:增強lc++內建陣列型別功能之後,對陣列操作就簡單了,很爽

第十四周任務(二)

建立自己的鍊錶 includeusing namespace std class student student next int num double score class mylist mylist int n,double s 以student n,s 作為單結點的鍊錶 int displa...

第十四周任務(二)

程式頭部注釋開始 程式的版權和版本宣告部分 檔名稱 建立專門的鍊錶類處理有關動態鍊錶的操作 作 者 齊豔紅 完成日期 2012 年 05 月 24 日 版 本 號 對任務及求解方法的描述部分 輸入描述 問題描述 動態鍊錶也是程式設計中的一種非常有用的資料結構。程式頭部的注釋結束 cpp view p...

第十四周專案一

煙台大學計算機學院 問題描述 認真閱讀並驗證雜湊表實施查詢的相關演算法,寫程式建立序列的雜湊表,裝填因子定為0.8,雜湊函式為h k key p,p 11,採用線性探查法解決衝突。測試中 1 輸出建立的雜湊表 2 完成關鍵字為29的元素的查詢 3 在上述雜湊表中刪除關鍵字為77的元素,再顯示雜湊表。...