实验报告->数组的定义和使用->冒泡排序和选择排序
2017-07-05 11:10
253 查看
/对序列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);////调用选择排序函数 }
相关文章推荐
- 实验报告->数组的定义和使用->连接两个字符串
- 实验报告->数组的定义和使用->字符串逆置
- 实验报告->数组的定义和使用->计算一段文字中的空格数和单词数
- 实验报告->数组的定义和使用->判断数组中的偶数并删除,奇数紧凑排序
- 实验报告->数组的定义和使用->两路合并法合并两个升序数组
- C#委托的简单学习:定义委托和使用、Func<int f1,out r1>、给自定义的类或数组排序(冒泡排序)
- 第九周实验报告任务 1 定义Time类中的<<和>>运算符重载,实现时间的输入输出,改造原程序中对运算结果显示方式,使程序读起来更自然。
- 《C++第九周实验报告1-1》--------接第8周任务1,定义Complex类中的<<和>>运算符的重载,实现输入和输出
- 第九周实验报告(二)定义Complex类中的<<、>>运算符的重载
- 第九周实验报告(三)定义分数类中的<<、>>运算符的重载。
- 《C++第九周实验报告3-1》----接第8周任务3,定义分数类中<<和>>运算符重载,实现分数的输入输出
- 第九周实验报告3(定义分数类中<<和>>运算符重载)
- 第九周实验报告任务3 定义分数类中<<和>>运算符重载,实现分数的输入输出,改造原程序中对运算结果显示方式,使程序读起来更自然。
- 实验报告<幻方,数组的排序和向数组中插入某个数>
- 《C++第九周实验报告2-1》---接第8周任务2,定义Time类中的<<和>>运算符重载,实现时间的输入输出
- 第九周实验报告 任务2 定义Complex类中的<<和>>运算符的重载,实现输入和输出,改造原程序中对运算结果显示方式,使程序读起来更自然。
- 第九周实验报告(一)定义Time类中的<<、>>运算符的重载
- C++程序设计实验报告(二十)---实现冒泡排序算法,并将之定义为一个函数,其中参数是指向数组的指针变量
- 数组的定义与使用
- 在web.xml定义,在网页中使用变量实例 使用只有创建变量的servlet才可以访问的<init-param>方式 附带登陆和跳转实现