1. 冒泡排序如何实现
-
往往我们在写代码的时候,会将数组作为参数传个函数,比如:我要实现一个冒泡排序(这里要讲算法思想)函数将一个整形数组排序。
-
冒泡排序思想:两两相邻元素进行比较,有可能的话需要交换。
比如一组整形数组arr[10]={9,8,7,6,5,4,3,2,1,0},如何利用冒泡排序的方法进行排序呢?
那我们将会这样使用该函数:
1.1 冒泡排序函数的错误设计
那我们如何利用代码进行冒泡排序呢?看代码:
#include<stdio.h>
void sort(int* arr)
{
//确定个数
int ret = sizeof(arr) / sizeof(arr[0]);
//趟数
int i = 0;
for (i = 0; i < ret - 1; i++)
{
//每一趟处理数据
int j = 0;
for (j = 0; j < ret - 1 - i; j++)
{
if (arr[j] > arr[j + 1])
{
int tmp = arr[j];
arr[j] = arr[j + 1];
arr[j + 1] = tmp;
}
}
}