冒泡排序函数
16lz
2021-04-05
//升序,普通方式。#include <stdio.h>#include <string.h>int main(){int i, j, x;int num[] = { 5,4,3,2,1 };int sz;sz = sizeof(num) / sizeof(num[0]);for (i = 1; i < sz; i++){ int flaot=1; //定义Float.可省略,只是为了使程序执行效率更高。j = 0;for (j = 0; j < sz - i; j++){if (num[j] > num[j + 1]) { x = num[j + 1]; num[j + 1] = num[j]; num[j] = x; float=0;}}if(1==float) //break语句不能出现在IF语句中国,但是这里是for循环,所以可用。{ break; }}for (i = 0; i < sz; i++){printf("%d ", num[i]);}return 0;}
下面介绍函数实现方式:
首先介绍两点:
1.函数传参过去的数组名,是首地址的值,而非整个数组。
2.但是在SIZEOF函数中的数组名代表整个数组,所以只有在主函数中计算过后一起传参过去实现计算。
#include <stdio.h>#include <string.h>void px(int num[], int sz){int i, j;int x;for (i = 1; i < sz; i++){j = 0;for (j = 0; j < sz - i; j++){if (num[j] > num[j + 1]){x = num[j + 1];num[j + 1] = num[j];num[j] = x;}}}}int main(){int i, j, x;int num[] = { 5,4,3,2,1 };int sz;sz = sizeof(num) / sizeof(num[0]);px(num, sz);for (i = 0; i < sz; i++){printf("%d ", num[i]);}return 0;}
更多相关文章
- 函数作用域与闭包-回调函数-函数的多值返回类型方式
- 【JS基础入门】JavaScript基础之作用域、闭包、迭代器、构造函数
- C语言快排qsort()函数
- C语言练习题
- js作业一常识类
- 2021-04-04:给定一个非负数组arr,和一个正数m。 返回arr的所有子序
- 数组函数、json、ajax、cors跨域
- golang核心原理-协程栈
- 一个细节 | Java中asList的缺陷