C语言经典编程282-19-直接插入排序

xiaoxiao2025-10-12  14

插入排序是直接把一个数据插入到已有的序列中

插入位置的确定:是将待插入的数据与已有序列进行比较。

#include <stdio.h> void insort(int s[],int n) { int i,j; for(i=2;i<=n;i++) //从下标2开始比较 { s[0]=s[i]; //设置监视岗 j=i-1; //确定比较的右边元素 while(s[0]<s[j]) { s[j+1]=s[j]; //数据右移 j--; //向左移动比较 } s[j+1]=s[0]; //移向左边一个未比较的数 } } main() { int a[11],i; printf("请输入10个数:\n"); for(i=1;i<=10;i++) scanf("%d",&a[i]); printf("原始排序:"); for(i=1;i<=10;i++) printf("%d ",a[i]); printf("\n"); insort(a,10); printf("排序后:"); for(i=1;i<=10;i++) printf("%d ",a[i]); printf("\n"); }

 

转载请注明原文地址: https://www.6miu.com/read-5037770.html

最新回复(0)