/
*copyright (c)2014,烟台大学计算机学院
*All rights reserved
*文件名称:123.cpp
*作者:孙春红
*完成日期:2014年12月10日
*版本号: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,k,t;
for (i=0;i<num-1;i++)
{
k=i;
for (j=i+1;j<num;j++)
if (*(p+k)<*(p+j))k=j;
t=*(p+k);
*(p+k)=*(p+i);
*(p+i)=t;
}
return;
}
void output(int *p,int num)
{
int i=0;
for (i=0;i<num;i++)
cout<<*(p+i)<<" ";
cout<<endl;
return;
}
知识点总结:
用指向数组的指针变量作为形式参数,用数组名(即数组的地址)作为实际参数,运用函数的调用,将数组进行选择排序。
学习心得:
指针变量的排序法还需要慢慢体会。