本文最后更新于 2120 天前,其中的信息可能已经有所发展或是发生改变。
冒泡排序
void bubble_sort(int *a, int n)
{
int temp;
for(int i=0;i<n-1;i++)
{
for(int j=0;j<n-1;j++)
{
if(a[j]<j[j+1])
{
temp=a[j];
a[j]=a[j+1];
a[j+1]=temp;
}
}
}
}
快速排序
void quick_sort(int *a, int left, int right)
{
int j, i, tem;
//左标不能大于右标
if(left>right)
{
return;
}
//从左开始第一个作为参考值
tem = a[left];
i = left;
j = right;
//左右两边未相遇时,持续交换
while(j!=i)
{
//右边比参考大,说明位置不正确,停下等待交换
while(a[j]>=tem)
{
j--;
}
//左边比参考小,说明位置不正确,停下等待交换
while(a[i]<=tem)
{
i++;
}
//右边不能超过右边
if(j>i)
{
//将两个位置不正确的值交换位置
a[j] = a[i];
a[i] = tem;
}
}
//递归处理子数组
quick_sort(a, left, j+1);
quick_sort(a, i+1, right);
}