重庆分公司,新征程启航
为企业提供网站建设、域名注册、服务器等服务
排序有以下几种:
网站建设哪家好,找成都创新互联公司!专注于网页设计、网站建设、微信开发、小程序定制开发、集团企业网站建设等服务项目。为回馈新老客户创新互联还提供了兴安盟乌兰浩特免费建站欢迎大家使用!
冒泡法。
选择法。
快速法。
插入法。
shell法。
以下是冒泡法和选择法的例子:
#include"stdio.h"
#define N 10
void sort(int a[],int method)
{
int i,k,t,j;
switch(method)
{
case 1:
for(i=0;iN;i++)
{
for(j=0;jN;j++)
{
if(a[j]a[i])
{
t=a[i];
a[i]=a[j];
a[j]=t;
}
}
}
break;
case 2:
for(i=0;iN;i++)
{
k=i;
for(j=i+1;jN+1;j++)
if(a[j]a[k])
k=j;
t=a[k];
a[k]=a[i];
a[i]=t;
}
break;
default: break;
}
}
void main()
{
int a[N]={16,5,8,12,1,17,3,6,10,2};
int i,method;
printf("排序前: \n");
for(i=0;iN;i++)
printf("%d\t",a[i]);
printf("请选择: 1表示冒泡法,2表示选择法: \n");
scanf("%d",method);
sort(a,method);
printf("排序后: \n");
for(i=0;iN;i++)
printf("%d\t",a[i]);
}
#include "stdio.h"
void select_sort(int a[],int n)
{
int i,j,k,temp;
for(i=0;in-1;i++)
{
k=i;
for(j=i+1;jn;j++)
{
if(a[j]a[k])//将这里改成a[j]a[k]就是按升序排序
{
k=j;
temp=a[i];
a[i]=a[k];
a[k]=temp;
}
}
}
}//定义选择排序函数
int main()
{
int i;
int a[8];
printf("Please input 8 nubmers:\n");
for(i=0;i8;i++)
{
scanf("%d",a[i]);
}//从键盘读入8个整数
printf("The 8 numbers you input is:\n");
for(i=0;i8;i++)
{
printf("%d ",a[i]);
}
printf("\n");
select_sort(a,8);//调用选择排序函数
printf("The sorted numbers is\n");
for(i=0;i8;i++)
{
printf("%d ",a[i]);
}//对排好序的数组进行输出
printf("\n");
getchar();
}
1、首先打开编辑软件,新建一个c程序空文件,引入标准库和主函数,定义一个QuickSort函数用来排序,下面首先编写排序函数的:
2、此处用到快速排序思想,通过一趟排序将要排序的数据分割成独立的两部分,即这里用i和j两个变量分割数据,然后一部分的所有数据都比另外一部分的所有数据都要小,接着对这两部分数据分别进行比较排序,整个排序过程可以递归进行,以此达到整个数据变成有序序列:
3、接着编写主函数,主函数中定义一个数组,然后用scanf接受数组,用户输入10个数以后,会将数存在数组array中,然后调用上面处理排序的函数,函数的输入就是刚才输入的数,最后在把排序的结果输出即可:
4、最后编译运行,输入10个数,最后控制台输出了排序的结果,证明程序的逻辑是没有问题的。以上就是C语言输入10个数排序的演示: