c++考试模版(3)

2020-06-21 16:07

gehongxiang

while(i

A[j]=A[i]; j--; }

}while(i

template

void Sample::selectsort() // 选择排序 {

int i,j,k; T temp;

for(i=0;i

for(j=i+1;j<=n-1;j++) if(A[j]

temp=A[i]; A[i]=A[k]; A[k]=temp; } }

template

void Sample::disp() {

for(int i=0;ivoid main() {

int sel=0;

Sample s; // 由类模板产生char型的模板类 s.getdata();

cout<<\原来序列:\ s.disp(); cout<<\:插入排序 1:希尔排序 2:冒泡排序 3:快速排序\\n 4:选择排序 其它退出\

gehongxiang

cout<<\选择排序方法:\ cin>>sel; switch(sel) {

case 0:

s.insertsort();

cout<<\插入排序结果\ break; case 1:

s.Shellsort();

cout<<\希尔排序结果:\ break; case 2:

s.bubblesort();

cout<<\冒泡排序结果:\ break; case 3:

s.quicksort();

cout<<\快速排序结果:\ break; case 4:

s.selectsort();

cout<<\选择排序结果:\ break; }

s.disp(); }

程序运行结果如下:

题 7. 设计一个模板类Sample,用于对一个有序数组采用二分法查找元素下标。 解:

#include #define Max 100 template class Sample {

T A[Max]; int n; public: Sample(){}

Sample(T a[],int i); int seek(T c); void disp() {

gehongxiang

for(int i=0;itemplate

Sample::Sample(T a[],int i) { n=i;

for(int j=0;j

template

int Sample::seek(T c) {

int low=0,high=n-1,mid; while(low<=high) {

mid=(low+high)/2; if(A[mid]==c) return mid;

else if(A[mid]

return -1; }

void main() {

char a[]=\ Samples(a,10);

cout<<\元素序列:\

cout<<\的下标:\ }

程序运行结果如下:

元素序列:a c e g k m p w x z 元素’g’的下标: 3


c++考试模版(3).doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:20120602九重锦沙盘说辞

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: