//冒泡排序
void bubble_sort(int* p, int n) {//输入数组地址+数组个数
int i = 0;
int j = 0;
int tem;
int* cons = p;//存放数组初始地址
for (i = 0; i < n-1 ; i++) {//完成里面的循环一次后,最大值被放在最后,比较前8个就行
p = cons;//初始化地址,方便第一个循环
for (j = 0; j < n - i - 1; j++) {//从第一个开始比较,如果前一个比后一个大,将他们互换位置
if (*p > *(p + 1)) {
tem = *(p + 1);
*(p + 1) = *p;
*p = tem;
}
p++;//地址+1
}
}
}
int main() {
int arr[] = { 9,8,7,6,5,4,3,2,1,0 };
int len = sizeof(arr) / sizeof(arr[0]);//数组长度,不能在函数里面求
bubble_sort(arr,len);//运行函数,完成冒泡排序
for (int i = 0; i < len ; i++) {//打印排序完后的数组
printf("%-4d", arr[i]);
}
return 0;
}
冒泡排序/初学c/c++
最新推荐文章于 2024-07-25 12:39:48 发布