【C语言提高01】冒泡排序和数组做参数的问题
来源:互联网 发布:12345数字打字软件 编辑:程序博客网 时间:2024/06/15 22:33
//冒泡排序
//外层循环
//当i=0时 从j从1-->N进行变化
//当i=1时 从j从2-->N进行变化
//当i=2时 从j从3-->N进行变化
//........
//外层循环
//当i=0时 从j从1-->N进行变化
//当i=1时 从j从2-->N进行变化
//当i=2时 从j从3-->N进行变化
//........
//结论: 摁着一个变量i不变 让另外一个变量j进行轮循 那个不变的数组地址用来放最小的数值 下一轮依次进行
// 也就是谁小谁放到那个a[i]上面
// 也就是谁小谁放到那个a[i]上面
#include<stdlib.h>#include<stdio.h>#include<string.h>//排序void main21(){int i = 0, j = 0;int tmp = 0;int a[] = {522,200,350,4,8,9,12};printf("排序之前:");for (i = 0; i < 7; ++i){printf("%d ",a[i]);} for (i = 0; i < 7; i++)//外层:比较多少趟 n-1躺{for (j = i + 1; j < 7; j++)//内层比较 找到一个最小的{if (a[i] > a[j])//两个地址上的数值对比 成立 两个地址交换数值{tmp = a[i]; //a[i]的地址永远用来放最小的数a[i] = a[j];a[j] = tmp;}//每循环一次 对应的a[i]地址都放好了最小的数值}}printf("排序之后:");for (i = 0; i < 7; ++i){printf("%d ", a[i]);}printf("hello...\n");system("pause");}
//数组做参数的退化问题 会退回一个指针
//结论:1.把数组的首地址和有效长度传给被调用函数
// 2.实参a和形参a的数据类型的本质不一样
// 形参中的数组 编译器会把他当成指针处理 只是c的特色
// 3.形参写在函数括号内和写在函数内是一样的 只不过前者有对外的属性而已
//结论:1.把数组的首地址和有效长度传给被调用函数
// 2.实参a和形参a的数据类型的本质不一样
// 形参中的数组 编译器会把他当成指针处理 只是c的特色
// 3.形参写在函数括号内和写在函数内是一样的 只不过前者有对外的属性而已
#include<stdlib.h>#include<stdio.h>#include<string.h>oid printArray(int a[],int num)//作为形参的数组在编译器看了不过就是指向该数组首元素的指针{ int i = 0; for (i = 0; i < num; ++i){printf("%d ", a[i]);}}//void sortArray(int a[],int num)void sortArray(int *a, int num){ /*int num2;num2 = sizeof(a) / sizeof(a[0]); //计算的是这个指针的长度 并不是数组的长度printf("%d",num2); */ //num2的结果并不是数组的长度 而是为1 证明了传进来的并不是数组 而是指向数组首元素的指针 int i = 0, j = 0;int tmp = 0; for (i = 0; i < num; i++){for (j = i + 1; j < num; j++){if (a[i] > a[j]){tmp = a[i]; a[i] = a[j];a[j] = tmp;}}}}void main(){int num;int a[] = { 522, 200, 350, 4, 8, 9, 12 };num = sizeof(a)/sizeof(a[0]);printf("排序之前:");printArray(a,num);sortArray(a,num);printf("排序之后:");printArray(a,num);printf("hello...\n");system("pause");}
0 0
- 【C语言提高01】冒泡排序和数组做参数的问题
- c语言数组--冒泡排序
- C语言数组实现冒泡排序和选择排序程序
- C语言数组实现冒泡排序和选择排序程序
- 好玩的C语言数组!!(冒泡排序数组)
- C语言---数组,字符串数组,冒泡排序
- C语言之数组做参数退化问题
- c语言 数组的更好运用 经典冒泡排序法
- C语言 输入整数数组 冒泡排序
- c语言冒泡排序,指针,数组
- C语言 冒泡法数组排序
- C语言 数组与冒泡排序
- C语言基础-- 冒泡排序,字符串数组
- C语言数组练习 冒泡排序~
- C语言的那些坑(数组做参数计算大小问题)
- C语言的冒泡排序
- C语言的冒泡排序
- C语言的冒泡排序
- openstack之neutron代码分析---(1)neutron初始化流程
- 转载:linux 内存管理——内核的shmall 和shmmax 参数
- Remove Duplicates from Sorted Array II
- 今天来打打java大数模板(整型)
- Android UICC 好文关键字备忘
- 【C语言提高01】冒泡排序和数组做参数的问题
- 面向对象设计的原则
- mysql 存储长文本
- 从结构体角度浅谈C语言的数据类型和变量
- 一位90后女生的IT之旅
- 对链式队列结构实现的探讨
- 黑马程序员——基础笔记:程序解释—注释
- 南大软院大神养成计划——第十四天
- HDU 计算机学院大学生程序设计竞赛(2015’11)题解报告