求解惑求解惑
本帖最后由 sdu20112013 于 2013-01-13 15:42:15 编辑
#include <iostream>
using namespace std;
class Array
{
int num;
int *p;
public:
void init() //初始化
{
cout<<"请输入数组元素个数"<<endl;
cin>>num;
p=new int[num];
cout<<endl;
cout<<"请依次输入数据"<<endl;
for(int i=0;i<num;i++)
{
int data;
cin>>data;
p[i]=data;
}
sort(p,num);
delete []p;
}
void sort(int a[],int num)
{
int index=num;
bool flag=true;
while(flag)
{
flag=false;
for(int i=1;i<index;i++)
{
if(a[i-1]>a[i])
{
swap(a[i-1],a[i]);
flag=true;
}
}
index--;
}
for(int j=0;j<num;j++)
{
cout<<a[j]<<endl;
}
}
void swap(int a,int b)
{
int temp;
if(a>b)
{
temp=a;
a=b;
b=temp;
}
}
};
int main()
{
Array *p=new Array;
p->init();
delete p;
return 0;
}
void swap(int &a,int &b)
{
int temp;
if(a>b)
{
temp=a;
a=b;
b=temp;
}
}