排序的算法多种多样,在c语言阶段接触较多的是冒泡和选择,下面就给出两种排序的实现。
(1)、冒泡排序:
# include<stdio.h>
void main()
{
int arr[]={11,88,66,22,77,55,44,99,33};
int len=sizeof(arr)/sizeof(arr[0]);
for(int i=0;i<len-1;i++)
{
for(int j=0;j<len-i-1;j++)
{
if(arr[j]>arr[j+1])
{
int temp=arr[j];
arr[j]=arr[j+1];
arr[j+1]=temp;
}
}
}
for(int i=0;i<len;i++)
{
printf("%5d",arr[i]);
}
}
void main()
{
int arr[]={11,88,66,22,77,55,44,99,33};
int len=sizeof(arr)/sizeof(arr[0]);
for(int i=0;i<len-1;i++)
{
for(int j=0;j<len-i-1;j++)
{
if(arr[j]>arr[j+1])
{
int temp=arr[j];
arr[j]=arr[j+1];
arr[j+1]=temp;
}
}
}
for(int i=0;i<len;i++)
{
printf("%5d",arr[i]);
}
}
优化版本:
# include<stdio.h>
void main()
{
int arr[]={10,1,2,3,4,5,6,7,8,9};//对于一些特殊的情况可减少循环次数
int count=0;//循环次数计数器
int len=sizeof(arr)/sizeof(arr[
void main()
{
int arr[]={10,1,2,3,4,5,6,7,8,9};//对于一些特殊的情况可减少循环次数
int count=0;//循环次数计数器
int len=sizeof(arr)/sizeof(arr[