目录
函数初始化
int ch[]={8,9,5,6,7,40,5,39,42,1};
函数大小计算
size=sizeof(ch)/sizeof(ch[0]);
冒泡排序
将相邻两个数进行比较,将数放在后面,直到比较到最后一个数,上述方法比较完之后,将最后一个数排除在外,前面的数在重复上述方法进行比较。
因为比较次数会比输入的数少1,所以循环size-1;
for(i=0;i<size-1;i++)
{
for(j=0;j<size-1-i;j++)
{
if(ch[j]<ch[j+1])
{
temp=ch[j];
ch[j]=ch[j+1];
ch[j+1]=temp;
}
}
}
快速排序
将第一个和其后面的比较将最大或最小的放在第一个;然后将第二个......;最后比较完。
for(i=0;i<size-1;i++)
{
for(j=i+1;j<size;j++)
{
if(ch[i]<ch[j])
{
temp=ch[i];
ch[i]=ch[j];
ch[j]=temp;
}
}
}
打印数组
for(i=0;i<size;i++)
{
printf("%d ",ch[i]);
}
完整代码
#include<stdio.h>
int main()
{
int ch[]={8,9,5,6,7,40,5,39,42,1};
//输入n个数,将他存放在容器当中
int size;
int i,j,temp;
size=sizeof(ch)/sizeof(ch[0]);
for(i=0;i<size-1;i++)
{
for(j=0;j<size-1-i;j++)
{
if(ch[j]<ch[j+1])
{
temp=ch[j];
ch[j]=ch[j+1];
ch[j+1]=temp;
}
}
}
for(i=0;i<size;i++)
{
printf("%d ",ch[i]);
}
return 0;
}
#include<stdio.h>
int main()
{
int ch[]={1,3,5,7,8,5,4,3,77,4,32,55};
int size=sizeof(ch)/sizeof(ch[0]);
int temp;
int i,j;
for(i=0;i<size-1;i++)
{
for(j=i+1;j<size;j++)
{
if(ch[i]<ch[j])
{
temp=ch[i];
ch[i]=ch[j];
ch[j]=temp;
}
}
}
for(i=0;i<size;i++)
{
printf("%d ",ch[i]);
}
}