/*
//实现下标法排序
*/
#include <stdio.h>
int main()
{
//定义一个数组
int arr[6]={1,4,5,1,8,17};
//打印数组内如
for (int i=0; i<6; i++) {
printf("%d\t",arr[i]);
}
printf("\n");
//定义一个下标变量
int x;
//求数组的最大值
int max=arr[x];
for(int j=0;j<sizeof(arr)/sizeof(int);j++)
{
x=j;
max=arr[x];
//进过比较来找出 最大值
for(int i=j;i<6;i++)
{
if (max<arr[i]) {
max=arr[i];
x=i;//确定最大值的下标
}
}
//第j位和最大值交换
int temp=arr[j];
arr[j]=arr[x];
arr[x]=temp;
}//外层end
//输出交换后的数组
for(int i=0;i<6;i++)
{
printf("%d\t",arr[i]);
}
return 0;
}
|
|