数组a [i]按降序打印,但我的逻辑是升序

数组a [i]按降序打印,但我的逻辑是升序,第1张

概述你能告诉我为什么我总是按降序排列a [i]吗?请帮忙. for(i=0;i<10;i++) { for (j=0;j<10;j++) { if(a[i]>=a[j]) { temp=a[i]; a[i]=a[j]; a[j]=temp; } }} 问题 你能告诉我为什么我总是按降序排列a [i]吗?请帮忙.

for(i=0;i<10;i++)  {        for (j=0;j<10;j++)    {          if(a[i]>=a[j])       {           temp=a[i];          a[i]=a[j];          a[j]=temp;       }    }}
解决方法 问题是你的排序运行两个完整的循环,比较所有i和j对,包括i大于j的那些(此时你不应该交换项目).为了使选择排序*起作用,它需要仅从数组的未排序部分中选择其交换候选.

以下是如何修复您的实现:

for(i=0;i<10-1;i++) // You do not need to touch the last element,so end at 10-1{        for (j=i+1;j<10;j++) // Make it j = i+1    {          if(a[i] > a[j]) // >,not >= : no need to swap when two items are equal       {           temp=a[i];          a[i]=a[j];          a[j]=temp;       }    }}

 * Selection Sort是您正在实施的排序算法的奇特名称.

总结

以上是内存溢出为你收集整理的数组a [i]按降序打印,但我的逻辑升序全部内容,希望文章能够帮你解决数组a [i]按降序打印,但我的逻辑是升序所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/langs/1220077.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-06-05
下一篇 2022-06-05

发表评论

登录后才能评论

评论列表(0条)

保存