C/C++数据结构-完整代码-插入排序代码实现

Posted 蓝盒子itbluebox

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了C/C++数据结构-完整代码-插入排序代码实现相关的知识,希望对你有一定的参考价值。

代码实现

#include <stdio.h>
#include <string.h>
#include <stdlib.h>

//从小到大排序
void insertSort(int arr[],int len){
    for(int i = 0; i < len;i++){
        if(arr[i] < arr[i-1] ){ //判断当前元素是否比前一个大(如果满足条件将当前元素报错将当前元素前面的元素向后移动)
            int temp = arr[i];//利用temp保存当前的i号位置的数据值
            int j = i -1;//j就是当前元素前一个元素的位置
            for(; j >= 0 && temp < arr[j] ; j--)
            {
                //将当前元素之前的元素数据进行后移的操作
                arr[j+1] = arr[j];//
            }
            //将j+1的位置的数据,赋值为temp
            arr[j+1] = temp;//将移动后的多出了的位置赋值
        }
    }

}
void printArray(int arr[],int len)
{
    for(int i = 0; i < len;i++){
        printf ("%d\\n",arr[i]);
    }
}

void  test01(){
    int arr[] = {5,9,1,3,7,2,18,32,11,10,15};
    int len = sizeof(arr) / sizeof(int);
    insertSort(arr,len);
    //打印数组
    printArray(arr,len);
}
int main () {
    test01();
    printf ("Hello, World!\\n");
    return 0;
}

以上是关于C/C++数据结构-完整代码-插入排序代码实现的主要内容,如果未能解决你的问题,请参考以下文章

算法笔记 排序算法完整介绍及C++代码实现 HERODING的算法之路

插入排序(直接插入排序折半插入排序希尔排序的算法思想及代码实现)

C/C++数据结构-完整代码队列Queue(树和二叉树)(二叉树代码实现)

C/C++数据结构-完整代码队列Queue(顺序存储,链式存储)增删改查

C/C++数据结构-完整代码队列Queue(树和二叉树)(二叉树代码实现)

基础数据结构二叉树代码实现