问题描述
给定一个长度为n的数列,将这个数列按从小到大的顺序排列。1<=n<=200
输入格式
第一行为一个整数n。
第二行包含n个整数,为待排序的数,每个整数的绝对值小于10000。
输出格式
输出一行,按从小到大的顺序输出排序后的数列。
样例输入
5
8 3 6 4 9
样例输出
3 4 6 8 9
#include<iostream>
#include<time.h>
using namespace std;
int n;
int a[300];
//clock_t start,end;
void choiceSort(int array[],int len)
{
for (int i = 0; i < len; i++)
{
int minIndex = i;
for (int j = minIndex + 1; j < len; j++)
{
if (array[j] < array[minIndex ])
{
minIndex = j;
}
}
//找到了最小的值再交换
int temp = array[i];
array[i] = array[minIndex ];
array[minIndex ] = temp;
}
}
void bubbleSort(int array[],int len)
{
for (int i = 0; i < len-1; i++)
{
for (int j = 0; j < len-1-i; j++)
{
if (array[j] > array[j+1])
{
int temp = array[j+1];
array[j+1] = array[j];
array[j] = temp;
}
}
}
}
void garbageSort(int array[],int len)
{
int temp;
for(int i=0;i<len-1;i++)
{
for(int j=i+1;j<len;j++)
{
if(a[i]>a[j])
{
temp = a[j];
a[j] = a[i];
a[i] = temp;
}
}
}
}
int main()
{
cin>>n;
for(int i=0;i<n;i++)
cin>>a[i];
// start = clock();
choiceSort(a,n);
// bubbleSort(a,n);
// garbageSort(a,n);
// end = clock();
// cout<<"Time:"<<end-start<<endl;
for(int j=0;j<n;j++)
cout<<a[j]<<" ";
//int *a = new int[n];
//delete[] a;
return 0;
}