c语言排序算法之插入排序

本文介绍了C语言中插入排序的原理和应用。通过示例展示了如何在一个已排序的序列中插入一个数,以保持序列的有序性。文章以21,25,49,25,26,28为例,演示了插入排序过程,最终得到21,25,25,26,28,49的有序序列。" 117027420,10294937,C语言实现学生信息存储与查询系统,"['C语言', '数据结构', '编程实践', '成绩管理系统']
摘要由CSDN通过智能技术生成

插入排序:

有一个已经有序的数据序列,要求在这个已经排好的数据序列中插入一个数,但要求插入后此数据序列仍然有序,这个时候就要用到一种新的排序方法——插入排序法

#include <iostream>
using namespace std;
void printLn(int array[],int len)
{
    for (int i =0; i<len; i++) {
        printf("%d,",array[i]);
    }
    printf("\n");
}
void swap(int array[],int i,int j)
{
    int t = array[i];
    array[i] = array[j];
    array[j] = t;
}
void Sort(int array[],int len)
{
    int t,i,j;
    for ( i =1; i<len; i++) {
        t = array[i];
        j = i;
        while ((j>0)&&(array[j-1]>t)) {
            swap(array, j, j-1);
            j--;
        }
        
    }
}
int main(int argc, const char * argv[]) {
    int array[] ={21,25,49,25,26,28};
    int len = sizeof(array)/sizeof(*array);
    printf("选择排序交换之前\n");
    printLn(array, len);
    printf("\n");
    Sort(array, len);
    printf("选择排序之后\n");
    printLn(array, len);
    return 0;
}

结果

选择排序交换之前

21,25,49,25,26,28,


选择排序之后

21,25,25,26,28,49,

Program ended with exit code: 0


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值