指针排序(数组)

来源:互联网 发布:java游戏开发技术 编辑:程序博客网 时间:2024/04/30 21:40

上机内容:练习指针

上机目的:了解指针作用

/** 程序的版权和版本声明部分* Copyright (c)2012, 烟台大学计算机学院学生* All rightsreserved.* 文件名称: 1.cpp* 作    者:刘杰* 完成日期: 2012 年12 月22 日* 版本号: v1.0** 输入描述:* 问题描述:按给定部分程序的要求,用指向数组的指针变量作为形式参数编写函数, 完成排序。用指向数组的指针变量 作为形式参数,用数组名(即数组的地址)作为实际参数,函数中对于形参的改变实质上也就是 对实参对应内存单元的改变             */#include <iostream> using namespace std; void sort(int *p, int num);   void output(int*, int); int main( ) //不要对main函数有任何改动 {   int a[20]={86,46,22,18,77,45,32,80,26,88,57,67,20,18,28,17,54,49,11,16};     int b[15]={27,61,49,88,4,20,28,31,42,62,64,14,88,27,73};     sort(a,20); //用冒泡法按降序排序a中元素     output(a,20); //输出排序后的数组     sort(b,15); //用冒泡法按降序排序b中元素     output(b,15); //输出排序后的数组     return 0; }void sort(int *p, int num){  int i,j,t;for(j=0;j<num-2;j++)for(i=0;i<j-i-1;i++)if(*(p+i)<*(p+i+1)){ t=*(p+i+1); *(p+i+1)=*(p+i); *(p+i)=t;}}void output(int *p, int num){int i;for(i=0;i<num-1;i++)cout<<*(p+i)<<",";cout<<*(p+num-1)<<"\n"; //最后一个数后面不加逗号,看得更舒服return;}


运行结果:

原创粉丝点击