C语言——插入排序

先将序列的第1个记录看成是一个有序的子序列,然后从第2个记录逐个进行插入,直至整个序列有序为止。

#include <stdio.h>

#include <stdlib.h>

void insertion_sort(int *arr, int n)

{

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

{

int key = arri;

int j = i - 1;

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

{

arrj + 1 = arrj;

j--;

}

arrj + 1 = key;

}

}

void print_arry(int *arr,int n)

{

for (int i = 0; i < n; i++)

{

printf("%d ", arri);

}

}

int main()

{

int n;

scanf_s("%d", &n);

int *arr = (int *)malloc(sizeof(int) * n);

if (arr == NULL)

{

return 1;

}

else

{

for (int i=0; i < n; i++)

{

scanf_s("%d", arr + i);

}

insertion_sort(arr, n);

print_arry(arr, n);

}

free(arr);

return 0;

}

使用了malloc函数动态开辟内存空间,最后记得要释放。

自定义了两个函数模块,一个是插入排序函数,一个是打印函数

结果

相关推荐
sycmancia几秒前
Qt——多线程与界面组件的通信
开发语言·qt·算法
你驴我3 分钟前
WhatsApp 多账号消息路由中的去重与顺序保证实践
开发语言·php
想吃火锅100519 分钟前
【leetcode】5.最长回文子串js
算法·leetcode·职场和发展
CoderYanger35 分钟前
A.每日一题:1967题+1331题
java·程序人生·算法·leetcode·面试·职场和发展·学习方法
wordpress资料库35 分钟前
Next.js更适合移动开发 不适合web开发
开发语言·前端·javascript·next.js
wujf9036 分钟前
Go 内存泄漏排查完整教程 (pprof)
开发语言·golang·xcode
Jasmine_llq41 分钟前
《P17010 [GESP202606 五级] 排排坐》
算法·贪心算法·数学化简求和式·排序sort 反向迭代器降序·线性遍历累加计算总权重和
va学弟44 分钟前
LeetCode 热题 100 题解(1):哈希
python·算法·leetcode·哈希算法
言乐61 小时前
Python实现基本搜索引擎
java·linux·开发语言·python·搜索引擎