当前位置:编程学习 > C/C++ >>

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

[cpp]  
/*  
* Copyright (c) 2012, 烟台大学计算机学院                      
* All rights reserved.                      
* 文件名称:test.cpp                      
* 作者:樊露露                     
* 完成日期:2012 年12月16日                      
* 版本号:v1.0                    
*                      
* 输入描述:无                      
* 问题描述:用指针作形参给数组排序                   
* 程序输出:数组 
* 问题分析:                     
* 算法设计:略                      
*/   www.zzzyk.com
#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赋值给k  
            if(*(p+j)>*(p+k))  
                k=j;。  
            //排序,用指针来接收数组地址。  
            t=*(p+k);        
            *(p+k)=*(p+i);  
            *(p+i)=t;     
    }  
}  
补充:软件开发 , C++ ,
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,