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函数动态开辟内存空间,最后记得要释放。

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

结果

相关推荐
老当益壮梁奶奶5 分钟前
Linux软件编程学习笔记(九):消息队列、共享内存与信号灯详解
linux·c语言·笔记·学习
开开心心就好9 分钟前
电子教鞭工具支持画框写字插图片功能齐全
android·开发语言·前端·javascript·人工智能·pdf·html
小雪崩10 分钟前
嵌入式学习 day35:进程间通信-消息队列、共享空间及有名信号量
linux·c语言·学习
zx_7414848119 分钟前
【Python入门】爬虫实战:Requests + XPath 从基础到实战
开发语言·爬虫·python
从零开始的嵌入式之旅23 分钟前
day33
linux·c语言·经验分享·笔记·嵌入式硬件
执子星海24 分钟前
Registry Win32 API详解
c++·windows·microsoft·visualstudio·微软
AI服务老曹29 分钟前
车牌识别算法接入AI视频分析平台的流程和误报优化
人工智能·算法·音视频
吴声子夜歌32 分钟前
Java——开发中通用的方法和准则(二)
java·开发语言·php
江屿风44 分钟前
C++OJ题经验总结(竞赛)5
开发语言·c++
溪语流沙1 小时前
【Python项目实战】虚拟环境与依赖管理:venv / pip / requirements.txt实操
开发语言·python·pip