#include
#include
#include
int main(void)
{
int a[10],i,j,tmp,b;
srand(time(NULL));
for(i=0;i<10;i++)
a[i]=rand()%100;
for(i=0;i<10;i++)
printf("%3d",a[i]);
printf("\n");
for(i=0;i<9;i++)
{
tmp=i;
for(j=i+1;j<10;j++)
{
if(a[tmp]>a[j])
tmp=j;
}
if(i!=tmp)
{
b=a[tmp];
a[tmp]=a[i];
a[i]=b;
}
}
for(i=0;i<10;i++)
printf("%3d",a[i]);
printf("\n");
return 0;
}
随机产生数组中的元素, 更合理一些。 百科中有各种版本。
#include "stdio.h"
void sort(const int, int*);
int main(int argc, char** argv) {
int array[] = {5, 34, 54, 2, 54, 51, 543, 2};
int i = 0;
int arraySize = sizeof(array)/sizeof(array[0]);
sort(arraySize, array);
for (i = 0; i < arraySize; ++ i) {
printf("array[%d] = %d \n",i, array[i]);
}
return 0;
}
//选择排序
void sort(const int size, int* array){
int i, j = 0;
int temp = 0;
for (i = 0; i < size; ++ i) {
for (j = i + 1; j < size; ++ j) {
if (array[i] < array[j]) {
temp = array[i];
array[i] = array[j];
array[j] = temp;
}
}
}
}