黑马程序员技术交流社区

标题: 下标法排序 [打印本页]

作者: Jusive    时间: 2015-10-2 12:38
标题: 下标法排序
/*
//实现下标法排序
*/

#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;

}






欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2