温馨提示×

温馨提示×

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

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

插入排序算法实现

发布时间:2020-06-26 15:50:13 来源:网络 阅读:188 作者:TheRoodToDeath 栏目:编程语言
/***********插入算法实现******************/
#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 InertionSort(int array[], int len) // 具体插入算法实现
{
    int i = 0;
    int j = 0;
    int k = -1;
    int temp = -1;
    
    for(i=1; i<len; i++)
    {
        k = i;
        temp = array[k];    //把第二个元素单个拿出来,并把第一个与第二个元素比较如果大于他,就交换位置把小的插入前一个位置
        
        for(j=i-1; (j>=0) && (array[j]>temp); j--)
        {
            array[j+1] = array[j];   //
            k = j;
        }
        
        array[k] = temp;  //这一步就是把拿出来的数进行插入恰当的位置
    }
}
int main()
{
    int array[] = {21, 25, 49, 25, 16, 8};
    int len = sizeof(array) / sizeof(*array); 
    
    println(array, len);
    
    InertionSort(array, len);
    
    println(array, len);
    
    return 0;
}

·

 

向AI问一下细节

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

AI