1.冒泡排序
#include <stdio.h>
void Bubble_Sort(int* arr,int sz)
{
int i = 0;
int temp,flag;
for(i=0;i<sz;i++)
{
flag=1;
int j=0;
for(j=0;j<sz-1-i;j++)
{
if(arr[j] > arr[j+1])
{
temp = arr[j];
arr[j] = arr[j+1];
arr[j+1] = temp;
flag=0; //flag用于检测是否发生了数据交换
}
}
if(flag == 1)
{
break;
}
}
}
int main()
{
int i = 0;
int arr[]={2,1,8,1,40,58,50,66};
int sz = sizeof(arr)/sizeof(arr[0]); //求出数组元素的个数
Bubble_Sort(arr,sz);
for(i=0;i<sz;i++)
{
printf("%d ",arr[i]); //打印出已排序完成的数组
}
return 0;
}
2.升序排序
void Sort(int* arr,int sz)
{
int temp,flag;
int i = 0,j = 0;
for(i=0;i<sz;i++)
{
flag = 1;
for(j=i;j<sz-1;j++)
{
if(arr[i] < arr[j+1])
{
temp = arr[j+1];
arr[j+1] = arr[i];
arr[i] = temp;
flag = 0;
}
}
if(flag)
{
break;
}
}
}
int main()
{
int i = 0;
int arr[]={2,1,8,1,40,58,50,66};
int sz = sizeof(arr)/sizeof(arr[0]); //求出数组元素的个数
Sort(arr,sz);
for(i=0;i<sz;i++)
{
printf("%d ",arr[i]); //打印出已排序完成的数组
}
return 0;
}