c++模板选择排序

来源:互联网 发布:水波算法 编辑:程序博客网 时间:2024/05/16 19:06
#ifndef _BUBBLESORT_H_//bubblesort.h#define _BUBBLESORT_H_#define MAX_SIZE 100#include <iostream>using namespace std;//template<class ElemType>template<class ElemType>class DataList{private:ElemType data[MAX_SIZE];int size;void Swap(const int mak1,const int mark2);public:DataList(int sz=6):size(sz){}~DataList(){}void SelectSort();void Input();void Show();};template<class ElemType>void DataList<ElemType>::Swap(const int mark1,const int mark2)//注意DataList<ElemType>{ElemType temp;temp=data[mark1];data[mark1]=data[mark2];data[mark2]=temp;}template<class ElemType>void DataList<ElemType>::SelectSort(){for(int i=0;i<size-1;i++){int currSmallPos=i;for(int j=i+1;j<size;j++){if(data[j]<data[currSmallPos]){currSmallPos=j;}}if(currSmallPos!=i)Swap(i,currSmallPos);}}template<class ElemType>void DataList<ElemType>::Input(){cout<<"the number you wanted to input:";cin>>size;for(int i=0;i<size;i++){cout<<"input the number:"<<i+1<< "of data:";cin>>data[i];}}template<class ElemType>void DataList<ElemType>::Show(){cout<<"element:";for(int i=0;i<size;i++)cout<<data[i]<<" ";cout<<endl;cout<<"the number of element:"<<size<<endl;}#endif
#include <iostream>//main.cpp#include "bubblesort.h"#include <stdlib.h>const int SIZE=6;using namespace std;int main(void){DataList<int> List(SIZE);List.Input();cout<<"before the sort:";List.Show();cout<<"after the sort:";List.SelectSort();List.Show();system("PAUSE");return 0;}


0 0
原创粉丝点击