C语言学习,插入排序

C语言,插入排序是一种简单直观的排序算法,插入排序是通过构建有序序列,对于未排序数据,在已排序序列中从后向前扫描,找到相应位置并插入。

示例:

// 插入排序函数

void insertionSort (int arr\[\], int n) {

for (int i = 1; i < n; i++) {

int key = arri;

int j = i - 1;

// 将arri插入已排序序列arr0...i-1

while (j >= 0 && arrj > key) {

arrj + 1 = arrj;

j = j - 1;

}

arrj + 1 = key;

}

}

// 打印

void printArray (int arr\[\], int size) {

for (int i = 0; i < size; i++) {

printf("%d ", arri);

}

printf("\n");

}

int main () {

int arr\[\] = {12, 11, 13, 5, 6};

int n = sizeof(arr) / sizeof(arr0);

printf("排序前的数组: \n");

printArray(arr, n);

insertionSort(arr, n);

printf("排序后的数组: \n");

printArray(arr, n);

return 0;

}

运行结果:

排序前:

12 11 13 5 6

排序后:

5 6 11 12 13

相关推荐
地平线开发者6 小时前
J6B vio scenario sample
算法
石山岭14 小时前
自己动手写了一个 Android 虚拟定位 App:GPSSimulate 技术实
android·前端
杉氧16 小时前
副作用 (Side Effects) 全攻略:如何像大师一样掌控 Composable 的生命周期?
android·架构·android jetpack
BothSavage17 小时前
Trae远程开发中DeepSeek自定义模型4054错误的排查与修复
算法
小林ixn18 小时前
从暴力到KMP:一道题彻底搞懂字符串匹配的前世今生
算法
烬羽19 小时前
字符串算法入门:从反转字符串到回文判断,面试不再慌
算法·面试
Kapaseker20 小时前
Kotlin Toolchain 0.11 发布:主要是把 Amper 干没了
android·kotlin
三少爷的鞋21 小时前
Android 现代架构不需要事件总线进阶篇
android