温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

选择排序算法实现

发布时间:2020-07-07 14:51:13 来源:网络 阅读:275 作者:TheRoodToDeath 栏目:编程语言
//选择排序法
//time :2017.3.8
//author :justing_zhang
/****************************************************************************************/
#include <stdio.h>
void println(int array[], int len)
{
    int i = 0;
    
    for(i=0; i<len; i++)
    {
        printf("%d ", array[i]);
    }
    
    printf("\n");
}
//交换两个数组变量
void swap(int array[], int i, int j)
{
    int temp = array[i];    //需要中介变量
    
    array[i] = array[j];
    
    array[j] = temp;
}

/************选择排序 算法具体实现*********************/
void SelectionSort(int array[], int len) 
{
    int i = 0;
    int j = 0;
    int k = -1;
    
    for(i=0; i<len; i++)  
    {
        k = i;    //定义一个游标
        
        for(j=i; j<len; j++)  //通过
       
            if( array[j] < array[k] ) //一次循环可以找到最小的元素,
            {
                k = j;
            }
        }
         
        swap(array, i, k); //找到后与第一元素调换,第二次与[2]调换
    }
}
int main()
{
    int array[] = {21, 25, 49, 25, 16, 8};
    int len = sizeof(array) / sizeof(*array);  //元素长度等与所有元素占用的空间除以每个元素的长度.
    println(array, len);
    SelectionSort(array, len);//array指向数组的首位之
    
    println(array, len);
    
    return 0;
}

向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI