7 2 利用類模板,定義陣列類,快速排序

2021-10-05 05:15:26 字數 1751 閱讀 8502

定義乙個類模板:

template

class array

;具有對陣列元素進行排序和求和的功能。在主函式中,從鍵盤讀入若干int型、double型和char型資料,分別對整型陣列、雙精度陣列和字元陣列完成所要求的操作。

輸入格式:

每行為乙個操作,每行的第乙個數字為元素型別,1為int元素,2為double元素,3為char型別。若為int型元素,接著輸入int資料,若為double元素,接著輸入double資料,若為char型元素,三種型別的元素均以0結束。輸入-1時表示全體輸入結束。

輸出格式:

int型、double型資料輸出相應陣列排序後的資料及陣列的和,char型資料輸出排序後的陣列元素。

輸入樣例:

在這裡給出一組輸入。例如:

1 2 3 4 5 6 0

3 a s d e r q w t 0

2 1.1 2.3 5.6 7.8 0

-1輸出樣例:

在這裡給出相應的輸出。例如:

[2,3,4,5,6]

20[a,d,e,q,r,s,t,w]

[1.1,2.3,5.6,7.8]

16.8

#include

using

namespace std;

template

<

typename t>

class

array

intpartition

(int first,

int end)

//將較小記錄交換到前面

while

(i < j && array[i]

<= array[j]

)i++

;//左側掃瞄

if(i < j)

//將較大記錄交換到後面

}return i;

}void

quicksort

(int first,

int end)

}void

print()

}void

sumarray()

cout << sum << endl;}}

;int

main()

array<

int>

array

(a1, i)

; array.

quicksort(0

, i-1)

; array.

print()

; array.

sumarray()

;}else

if(ch ==2)

array<

double

>

array

(a2,i)

; array.

quicksort(0

, i-1)

; array.

print()

; array.

sumarray()

;}else

if(ch ==3)

array<

char

>

array

(a3, i)

; array.

quicksort(0

, i-1)

; array.

print()

;}}return0;

}

C 模板 37 類模板練習 自定義陣列類

到這裡,模板相關基本學習完,現在來利用模板類寫乙個 例子。這個例子就是自定義乙個陣列模板類,需要實現陣列的一些常用操作。例如拷貝,有參構造,查詢,刪除等。1.自定義陣列類需求 模板案例描述 實現乙個通用的陣列類,要求如下 1 可以對內建資料型別以及自定義資料型別的資料進行儲存 2 將陣列中的資料儲存...

陣列類模板

問題及描述 檔名稱 test.cpp 作者 邱凱 完成日期 2016年5月31號 版本號 v6.0 問題描述 陣列類模板 輸入描述 輸入資料 輸出描述 輸出答案 include include include using namespace std template class array temp...

陣列類模板

檔名稱 3.cpp 完成日期 2016年 6 月 15日 版本號 v1.0 專案 陣列類模板 在陣列類的基礎上,將之改造為類模板,以使陣列中可以儲存各種型別的資料。template 陣列類模板定義 class array include includeusing namespace std temp...