/*
* Copyright (c) 2014,烟台大学计算机学院
* All right reserved.
*文件名:sixteen week 1.app
* 作者:柴银平
* 完成时间:2014年12月11日
* 版本号:v1.0
*
* 问题描述:用指针作参数玩转排序。
*程序输入:
*程序输出:输出排序之后的数组各个元素值。
*/
#include <iostream>
using namespace std;
void sort(int *p,int num);
void output(int*,int);
int 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,15,88,27,73};
sort(a,20);
output(a,20);
sort(b,15);
output(b,15);
return 0;
}
void sort(int *p,int num)
{
int i,j,k;
for (i=0;(p+i)<(p+num);i++)
for (j=0;j<num-i-1;j++)
{
if (*(p+j)>*(p+j+1))
{
k=*(p+j);
*(p+j)=*(p+j+1);
*(p+j+1)=k;
}
}
}
void output(int *a,int b)
{
int i;
cout<<"按照从小到大排序之后数组为:"<<endl;
for (i=0;(a+i)<(a+b);i++)
cout<<*(a+i)<<" ";
cout<<endl;
}
学习心得:
很揪心,还有各种错误,需要更多的努力.