编程一小时2023.5.5

1.

#include <iostream>
using namespace std;

template <class T>
class MyArray
{
public:
bool check();
~MyArray();
MyArray(int);
void sort();
void display();
private:
int size;
T*data;
};

template<class T>
MyArray<T>::MyArray(int s)
{
size=s;
data=new T[size];
for(int i=0;i<size;i++)
cin>>data[i];
}

template<class T>
void MyArray<T>::display()
{
for(int i=0;i<size-1;i++) cout<<data[i]<<' ';
cout<<data[size-1]<<endl;
}

template<class T>
void MyArray<T>::sort()
{
for(int i=0;i<size;i++)
{
int min=i;
for(int j=i+1;j<size;j++)
{
if(data[min]>data[j])
{
min=j;
}
}
if(min!=i)
{
T temp=data[min];
data[min]=data[i];
data[i]=temp;
}
}
}

template<class T>
MyArray<T>::~MyArray(){ delete[] data;}

template<class T>
bool MyArray<T>::check(){
int i;
for(i=0;i<size-1;i++)
if(data[i]>data[i+1]) { cout<<"ERROR!"<<endl;return false;}
return true;
}
int main( )
{
MyArray<int> *pI;
MyArray<float> *pF;
MyArray<char> *pC;
int ty, size;
cin>>ty;
while(ty>0){
cin>>size;
switch(ty){
case 1: pI = new MyArray<int>(size); pI->sort(); pI->check(); pI->display(); delete pI; break;
case 2: pF = new MyArray<float>(size); pF->sort(); pF->check(); pF->display(); delete pF; break;
case 3: pC = new MyArray<char>(size); pC->sort(); pC->check(); pC->display(); delete pC; break;
}
cin>>ty;
}
return 0;
}

2.

#include <iostream>
#include <string>
using namespace std;

template <class T>
void sort(T *a, int size)
{
for(int i=0;i<size;i++)
{
cin>>a[i];
}
for(int i=0; i<size; i++)
{
int min=i;
for(int j=i+1; j<size; j++)
{
if(a[min]>a[j])
{
min=j;
}
}
if(min!=i)
{
T temp=a[min];
a[min]=a[i];
a[i]=temp;
}
}
}

template <class T>
void display(T* a, int size){
for(int i=0; i<size-1; i++) cout<<a[i]<<' ';
cout<<a[size-1]<<endl;
}
int main() {
const int SIZE=10;
int a[SIZE];
char b[SIZE];
double c[SIZE];
string d[SIZE];
int ty, size;
cin>>ty;
while(ty>0){
cin>>size;
switch(ty){
case 1:sort(a,size); display(a,size); break;
case 2:sort(b,size); display(b,size); break;
case 3:sort(c,size); display(c,size); break;
case 4:sort(d,size); display(d,size); break;
}
cin>>ty;
}
return 0;
}

 

posted @   Verneyyx  阅读(12)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· Manus的开源复刻OpenManus初探
· 三行代码完成国际化适配,妙~啊~
· .NET Core 中如何实现缓存的预热?
· 阿里巴巴 QwQ-32B真的超越了 DeepSeek R-1吗?
点击右上角即可分享
微信分享提示