C++第14周项目4——数组的排序
2012-11-29 19:08
246 查看
课程首页地址:/article/1353502.html
【项目4 - 数组的排序】编函数,完成冒泡排序。要求不能改变下面的main函数。
重点体会:(1)排序算法;(2)数组名作形式参数,将能改变作为实际参数的数组的值,实际参数传递给形式参数的是数组的地址值,也是传值;(3)形式参数中不指定数组大小,实际数组的大小也一并作为参数传递。
参考程序段如下:
参考解答:
【项目4 - 数组的排序】编函数,完成冒泡排序。要求不能改变下面的main函数。
重点体会:(1)排序算法;(2)数组名作形式参数,将能改变作为实际参数的数组的值,实际参数传递给形式参数的是数组的地址值,也是传值;(3)形式参数中不指定数组大小,实际数组的大小也一并作为参数传递。
参考程序段如下:
#include <iostream> using namespace std; //两个函数bubble_sort和output_array的声明 int main( ) { int a[20]={86,76,62,58,77,85,92,80,96,88,77,67,80,68,88,87,64,59,61,76}; int b[15]={27,61,49,88,4,20,28,31,42,62,64,14,88,27,73}; bubble_sort(a,20); //用冒泡法按降序排序a中元素 output_array(a,20); //输出排序后的数组 bubble_sort(b,15); //用冒泡法按降序排序b中元素 output_array(b,15); //输出排序后的数组 return 0; } //请在下面定义bubble_sort和output_array函数
参考解答:
#include <iostream> using namespace std; void bubble_sort(int arr[], int num); void output_array(int arr[], int num); int main( ) { int a[20]={86,76,62,58,77,85,92,80,96,88,77,67,80,68,88,87,64,59,61,76}; int b[15]={27,61,49,88,4,20,28,31,42,62,64,14,88,27,73}; bubble_sort(a,20); //用冒泡法按降序排序a中元素 output_array(a,20); //输出排序后的数组 bubble_sort(b,15); //用冒泡法按降序排序b中元素 output_array(b,15); //输出排序后的数组 return 0; } //下面定义自定义函数 void bubble_sort(int arr[], int num) { int i,j,t; for(j=0;j<num-1;j++) //共进行num-1趟比较 for(i=0;i<num-j-1;i++) //在每趟中要进行num-j次两两比较 if (arr[i]<arr[i+1]) //如果前面的数小于后面的数 { t=arr[i]; //交换两个数的位置,使小数下沉 arr[i]=arr[i+1]; arr[i+1]=t; } return; } void output_array(int arr[], int num) { int i; for(i=0;i<num-1;i++) cout<<arr[i]<<", "; cout<<arr[num-1]<<"\n"; return; }
相关文章推荐
- C++第14周项目4——数组的排序
- C++第七次实验——实验(项目1:数组素数排序)
- c++第六次实验 项目二:数组合并与排序。
- C++程序设计-第14周数组上机实践项目
- 第14周项目8-数组的排序
- C++第14周项目1——数组大折腾
- C++第14周项目模板【项目3-数组类模板】
- 第14周项目4数组的排序
- C++第14周项目模板【项目1-排序函数模板】
- C++第14周项目1——数组折腾一下就明白了
- 第14周项目4--数组的排序
- C++第17周项目5——数组排序指针版
- 第14周项目4--拓展一--字符数组排序
- 2014秋C++第13周项目4参考-数组的排序
- 2013级C++第17周项目【项目3-数组的排序】
- 2013级C++第14周项目——一维数组、字符数组
- 2014秋C++第16周 项目1参考 数组的排序
- 第14周项目9-字符数组排序
- c++第4次实验报告 项目 1 数组素数排序
- 第十三周项目4——数组的排序(冒泡法)