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(顺序存储,链式存储)增删改查