实验报告->数组的定义和使用->冒泡排序和选择排序
来源:互联网 发布:推荐好用的精华液知乎 编辑:程序博客网 时间:2024/06/09 18:03
/对序列6, 5, 9, 4, 13, 1, 8按从大到小的顺序排列输出,要求每个数占6列,并且左对齐输出。/
#include <stdio.h>//数组打印函数void Print(int *x, int N){ int i; for(i=0; i<N; i++) { printf("%-6d", x[i]); } printf("\n");}//冒泡排序函数void Bubble_Sort(int *x, int N){ int i, j, t=0; for(i=0; i<N-1; i++) { for(j=0; j<N-1-i; j++) { if(x[j] < x[j+1]) { t = x[j]; x[j] = x[j+1]; x[j+1] = t; } } }}//选择排序函数void select_sort(int *a,int m){ int i,j; int k; int tmp; for(i = 0; i < m-1; i++)//控制循环次数,n个数需要n-1次循环 { k = i; for(j = i+1; j < m ; j++) { if(a[j] > a[k]) k = j; } //i不等于k是就证明a[i]不是最小的, //i等于k时证明a[i]就是本轮比较过程中最小的值 if(i != k) { tmp = a[i]; a[i] = a[k]; a[k] = tmp; } } printf("after select_sort:\n"); Print(a, m);}//判断数据的大小顺序void Judgment_order(int *x, int N){ int i, flag=0; for(i=0; i<N; i++) { if(x[i] < x[i+1])//判断数据是否从大到小排序顺序 flag = 1; } if(1==flag)//如果原始数据不是从大到小排序。则进行排序操作 { Bubble_Sort(x, N);//调用冒泡排序函数 printf("after Bubble_Sort:\n"); Print(x, N); } if(0==flag)//如果原始数据是从大到小排序。则直接输出原始数据 Print(x, N);}//驱动测试函数void main(){ int N = 7; int a[] = {6, 5, 9, 4, 13, 1, 8}; int b[] = {6, 5, 9, 4, 13, 1, 8}; printf("before Bubble_Sort:\n"); Print(a, N); Judgment_order(a, N);//判断数据的大小顺序 printf("before select_sort:\n"); Print(b, N); select_sort(b, N);////调用选择排序函数}
阅读全文
0 0
- 实验报告->数组的定义和使用->冒泡排序和选择排序
- 数组的选择排序和冒泡排序
- 实验报告->数组的定义和使用->判断数组中的偶数并删除,奇数紧凑排序
- 数组选择排序和冒泡排序
- 数组---冒泡排序和选择排序
- 数组的选择排序算法和冒泡排序算法
- java中数组的选择排序和冒泡排序
- 算法--数组的冒泡排序和选择排序
- Java 中数组的冒泡排序 和 直接选择排序
- JAVA数组选择和冒泡排序
- 选择排序和冒泡排序的学习
- 选择排序和冒泡排序的比较
- 选择排序和冒泡排序的区别
- 选择排序和冒泡排序的区别
- 选择排序和冒泡排序的区别
- 数组中排序的一些方法,选择排序,冒泡排序,和数组中自己的方法
- 冒泡和选择排序
- 冒泡和选择排序
- Cocos2d-x 3.x lua中的定时器
- JavaWeb中的Servlet概述
- 2017.7.5(转)—【学习笔记】python2的print和python3的print()
- 粒子系统参数详情
- Ajax 、编码问题
- 实验报告->数组的定义和使用->冒泡排序和选择排序
- iOS转前端之HTML基础知识学习
- mac下java ee 1.7下载安装
- jsp/servlet上传文件
- logstash使用webhdfs插件指定输出字段存储数据到hdfs时间分层(还能保留原来数据)
- 将jdk版本:jdk1.8更换为jdk1.7之后输入java -version还是出现1.8的版本号
- 【POJ 1330】Nearest Common Ancestors(LCA_trajan)
- 关于ubuntu中文件类型没有颜色区分的配置文件修改
- 对Json与BaseBean的一些理解