我想问个排序的问题。

科比布莱恩特 2003-09-15 09:46:25
1.if(a[I]<a[j])
{xy=a[I];
a[I]=a[j];
a[j]=xy;
}

2.if(a[j]<a[j-1])
{x=a[j];
a[j]=a[j-1];
a[j-1]=x;
}

书上指的第一个是大数置上,第二个是小数置上,但是我不明白,请问大家这个哪个是小数置上和大数置上?为什么呀?
...全文
89 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
bing_huo 2003-09-15
  • 打赏
  • 举报
回复
区别要看i和j的定义了。
科比布莱恩特 2003-09-15
  • 打赏
  • 举报
回复
那这两段程序有没有区别呢?
goodluckyxl 2003-09-15
  • 打赏
  • 举报
回复
for(j=i+1;j<N;J++)

if(a[I]<a[j]) /*交换出最大一个给a[i] */

{
xy=a[I];

a[I]=a[j];

a[j]=xy;
}

第二个看判断条件,如果前一个数大于后一个数则进行交换!即最终把最小的交换给a[j]
csdn5211 2003-09-15
  • 打赏
  • 举报
回复



这两段程序if下面大括号里的语句都是用来调换两个元素的,没什么区别,所以你只要看if里的条件就行了。比如第二个,后面的比前面的小就交换,显然是把小的放在前面……



搬不搬砖 2003-09-15
  • 打赏
  • 举报
回复
第二个是把小的换到前面

69,371

社区成员

发帖
与我相关
我的任务
社区描述
C语言相关问题讨论
社区管理员
  • C语言
  • 花神庙码农
  • 架构师李肯
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧