求教排序问题的思路解析
1、直接交换数据Exp:
程序代码:
main() { int a,b,c,t; scanf("%d,%d,%d",&a,&b,&c); if(a>b){t=a;a=b;b=t;} if(a>c){t=a;a=c;c=t;} if(b>c){t=b;b=c;c=t;} printf("%d,%d,%d",a,b,c); }2、通过交换两数据的地址
Exp:
程序代码:
main() { int a,b,c,*p,*p1,*p2,*p3; scanf("%d,%d,%d",&a,&b,&c); p1=&a;p2=&b;p3=&c; if(a>b){p=p1;p1=p2;p2=p;} if(a>c){p=p1;p1=p3;p3=p;} if(b>c){p=p2;p2=p3;p3=p;} printf("%d,%d,%d",*p1,*p2,*p3); }希望各位前辈指导下思路,小弟实在是想不通如何实现大小比较的。