C程序设计--排序(冒泡、选择、插入)--插入

版权声明:本文由 Micheal 博客 创作,转载请附带链接,有问题欢迎交流。 https://blog.csdn.net/qq_42887760/article/details/83931907

算法排序

个人说明:排序的算法有许多种,该博客只是列举了部分常用的排序方式,以供参考。程序使用语言为C语言。

3.插入排序法

  • 基本思想
    在要排序的一组数中,假设前面(n-1)[n>=2] 个数已经是排好顺序的,现在要把第n个数插到前面的有序数中,使得这n个数也是排好顺序的。如此反复循环,直到全部排好顺序。
  • 图解
    在这里插入图片描述
  • 代码实现
#include<stdio.h>

int main(){
	int a[]={1,54,6,3,78,34,12,45};
	int n=sizeof(a)/sizeof(int);
	//插入排序法
	for (int i = 1; i < n; i++) {
		int temp = a[i];
		for (int j=i-1;j>=0 && temp<a[j]; j--) {
			a[j+1] = a[j];
		}
		a[j+1] = temp;
	}
	for(i=0;i<n;i++){
		printf("%d ",*(a+i));
	}
	printf("\n",*(a+i));
	return 0;
}

  • 参考博客

https://blog.csdn.net/without0815/article/details/7697916

猜你喜欢

转载自blog.csdn.net/qq_42887760/article/details/83931907
今日推荐