/*
直接排序
Time:2017.2.28
Name:LQS
*/
#include <stdio.h>
#include <stdlib.h>
void insort(int s[],int n) //自定义函数
{
int i,j;
for(i=2;i<=n;i++) //数组下标从2开始,s[0]为监视哨,s[1]一个数据无可比性
{
s[0]=s[i]; //给监视哨赋值
j=i-1;
while(s[0]<s[j])
{
s[j+1]=s[j]; //确定要比较元素的最右边位置
j--;
}
s[j+1]=s[0]; //在确定的位置插入s[i]
}
}
int main()
{
int a[11],i;
printf("请输入10个整数:\n");
for(i=1;i<=10;i++)
scanf("%d",&a[i]);
insort(a,10);
printf("直接排序后的顺序:\n");
for(i=1;i<=10;i++)
printf("%5d",a[i]);
}
直接排序
Time:2017.2.28
Name:LQS
*/
#include <stdio.h>
#include <stdlib.h>
void insort(int s[],int n) //自定义函数
{
int i,j;
for(i=2;i<=n;i++) //数组下标从2开始,s[0]为监视哨,s[1]一个数据无可比性
{
s[0]=s[i]; //给监视哨赋值
j=i-1;
while(s[0]<s[j])
{
s[j+1]=s[j]; //确定要比较元素的最右边位置
j--;
}
s[j+1]=s[0]; //在确定的位置插入s[i]
}
}
int main()
{
int a[11],i;
printf("请输入10个整数:\n");
for(i=1;i<=10;i++)
scanf("%d",&a[i]);
insort(a,10);
printf("直接排序后的顺序:\n");
for(i=1;i<=10;i++)
printf("%5d",a[i]);
}
本文介绍了一个简单的直接排序算法实现过程,使用C语言进行编码。该算法通过设置监视哨简化了插入排序的过程,使得代码更加简洁易懂。文章提供了完整的源代码,并展示了如何输入一组整数并对其进行排序。
164

被折叠的 条评论
为什么被折叠?



