用指针变量作函数形参接收数组地址

来源:互联网 发布:手机进销存软件安卓版 编辑:程序博客网 时间:2024/05/16 10:36
/* * Copyright (c) 2012, 烟台大学计算机学院                     * All rights reserved.                     * 文件名称:test.cpp                     * 作者:樊露露                    * 完成日期:2012 年12月16日                     * 版本号:v1.0                   *                     * 输入描述:无                     * 问题描述:用指针作形参给数组排序                  * 程序输出:数组* 问题分析:                    * 算法设计:略                     */         #include<iostream>using namespace std;int main(){void select_sort(int *p,int n);//定义函数int a[10]={5,8,6,97,1,3,4,87,13,19},i;select_sort(a,10);       //引用函数cout<<"排序后的数组为:"<<endl;for(i=0;i<10;i++)  //输出函数cout<<a[i]<<' ';cout<<endl;return 0;}//排序函数代码void select_sort(int *p,int n)//用指针变量作形参{int i,j,t,k;//i的循环(第一层循环)从0开始,这是理所当然的。到n-2结束,因为到n-2时与n-1比较过,就不用循环到n了。for(i=0;i<n-1;i++){//将i赋值给k,使下面的排序从i开始,i前面已经排好的不用管了。k=i;//j的循环(第二层循环)从i+1开始,到n-1结束。排序要逐个的比较。for(j=i+1;j<n;j++)//如果后一个数大于前一个数,将j赋值给kif(*(p+j)>*(p+k))k=j;。            //排序,用指针来接收数组地址。t=*(p+k);      *(p+k)=*(p+i);*(p+i)=t;}}

原创粉丝点击