#include "stdio.h"
为平昌等地区用户提供了全套网页设计制作服务,及平昌网站建设行业解决方案。主营业务为成都网站设计、做网站、平昌网站设计,以传统方式定制建设网站,并提供域名空间备案等一条龙服务,秉承以专业、用心的态度为用户提供真诚的服务。我们深信只要达到每一位用户的要求,就会得到认可,从而选择与我们长期合作。这样,我们也可以走得更远!
#define MAX 10
void sort(int *p,int n)
{int i,j;
int temp; //记录每一轮比较中最大值
int maxindex; //记录每一轮比较中最大值的下标
for (i=0;in;i++)
{
temp=p[i];
maxindex=i;
for (j=i+1;jn;j++)
if (tempp[j]) {temp=p[j];maxindex=j;}
if(maxindex!=i){p[maxindex]=p[i];p[i]=temp;}
}
}
/*
void sort(int *p)
{int i,j,k;
for (i=0;i9;i++)
for (j=i+1;j10;j++)
if (p[i]p[j]) {k=p[i];p[i]=p[j];p[j]=k;}
这个是简单选择排序,但是执行效率没有上面的高。不过对于比较小的基数,还是看不出来效率的优劣,如果在基数上百万时,效率高的执行时间将节省不少。
*/
main()
{
int a[MAX],i;
for (i=0;iMAX;i++)
scanf("%d",a[i]);
sort(a,MAX);
for(i=0;iMAX;i++)
printf("%d ,",a[i]);
}
升序:
#include "stdio.h"
main()
{
int a[4]={1,4,2,6};
int i,j,num;
for (i=1;i4;i++)
{
for (j=0;j4-i;j++)
{if (a[j]a[j+1])
{num=a[j];a[j]=a[j+1];a[j+1]=num;}
}
}
for (i=0;i4;i++)
printf (" %d ",a[i]);
}
降序:
#include "stdio.h"
main()
{
int a[4]={1,4,2,6};
int i,j,num;
for (i=1;i4;i++)
{
for (j=0;j4-i;j++)
{if (a[j]a[j+1])
{num=a[j];a[j]=a[j+1];a[j+1]=num;}
}
}
for (i=0;i4;i++)
printf (" %d ",a[i]);
}
升序和降序的区别只是IF语句里面的比较符号变化,升序为〉,然后互换。降序为〈,然后前后两个数组元素呼唤。
#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();
}
#include stdio.h
void sort1(int a[],int n)
{int i,j,t;
for(i=0;in-1;i++)
for(j=0;jn-1-i;j++)
if(a[j]a[j+1])
{t=a[j];a[j]=a[j+1];a[j+1]=t;}
}
void sort2(int a[],int n)
{int i,j,t;
for(i=0;in-1;i++)
for(j=0;jn-1-i;j++)
if(a[j]a[j+1])
{t=a[j];a[j]=a[j+1];a[j+1]=t;}
}
int main()
{int i,a[10];
for(i=0;i10;i++)
scanf("%d",a[i]);
printf("\n");
sort1(a,10);
for(i=0;i10;i++)
printf("%d ",a[i]);
printf("\n\n");
sort2(a,10);
for(i=0;i10;i++)
printf("%d ",a[i]);
printf("\n");
return 0;
}