有int 数组 arraylnt,请写出一种排序算法,对 arrayint 进行从小到大行排序。
时间: 2024-05-14 14:18:28 浏览: 168
这里介绍一种经典的排序算法:冒泡排序。
冒泡排序的基本思想是:依次比较相邻的两个数,如果前面的数比后面的数大,就交换这两个数,一轮比较下来,最大的数就被排到了最后面,然后再从头开始比较,直到所有的数都排好序为止。
以下是使用冒泡排序对数组进行排序的示例代码:
```
void bubble_sort(int array[], int len)
{
int i, j;
for(i = 0; i < len - 1; i++)
{
for(j = 0; j < len - 1 - i; j++)
{
if(array[j] > array[j+1])
{
int temp = array[j];
array[j] = array[j+1];
array[j+1] = temp;
}
}
}
}
```
在上面的代码中,我们使用了两个嵌套的循环,外层循环控制比较的轮数,内层循环控制每轮比较的次数。在每次内层循环中,我们比较相邻的两个数,如果前面的数比后面的数大,就交换这两个数。最终,当外层循环执行完毕后,数组中的数就被排好序了。
使用示例:
```
int main()
{
int array[] = {5, 2, 7, 3, 6, 1, 4};
int len = sizeof(array) / sizeof(array[0]);
bubble_sort(array, len);
for(int i = 0; i < len; i++)
{
printf("%d ", array[i]);
}
return 0;
}
```
输出结果为:1 2 3 4 5 6 7
阅读全文