第十七周项目2-三个数排序(指针法 、引用法)

来源:互联网 发布:蚁群算法流程 编辑:程序博客网 时间:2024/05/18 18:19

/* *Copyright(c)2014,烟台大学计算机学院 *All rights reserved. *文件名称:test.cpp *作者:满星辰 *完成日期:2014年 12月 22日 *版本号:v1.0 */

为三个数排序= =,


指针法:

#include <iostream>using namespace std;void cmp(int *x,int *y,int *z);int main(){    int a,b,c;    cin>>a>>b>>c;    cmp(&a,&b,&c);    cout <<a<<' '<<b<<' '<<c<< endl;    return 0;}void cmp(int *x,int *y,int *z){    int t,M,m,Mm;    if(*x>*y&&*x>*z)    {        M=*x;        if(*y>*z)        {            Mm=*y;            m=*z;        }        else        {            Mm=*z;            m=*y;        }    }    else if(*y>*x&&*y>*z)    {        M=*y;        if(*x>*z)        {            Mm=*x;            m=*z;        }        else        {            Mm=*z;            m=*x;        }    }    else if(*z>*y&&*z>*x)    {        M=*z;        if(*y>*x)        {            Mm=*y;            m=*x;        }        else        {            Mm=*x;            m=*y;        }    }    *x=M;    *y=Mm;    *z=m;    return;}


引用法:

#include <iostream>using namespace std;void cmp(int &x,int &y,int &z);int main(){    int a,b,c;    cin>>a>>b>>c;    cmp(a,b,c);    cout <<a<<' '<<b<<' '<<c<< endl;    return 0;}void cmp(int &x,int &y,int &z){    int t,M,m,Mm;    if(x>y&&x>z)    {        M=x;        if(y>z)        {            Mm=y;            m=z;        }        else        {            Mm=z;            m=y;        }    }    else if(y>x&&y>z)    {        M=y;        if(x>z)        {            Mm=x;            m=z;        }        else        {            Mm=z;            m=x;        }    }    else if(z>y&&z>x)    {        M=z;        if(y>x)        {            Mm=y;            m=x;        }        else        {            Mm=x;            m=y;        }    }    x=M;    y=Mm;    z=m;    return;}


运行展示:





学习心得:

觉得这两个没啥区别。。。

就是 * 和 & 的运用不同

0 0
原创粉丝点击