三种排序方式 (C++实现)

举报
陈言必行 发表于 2021/08/14 01:36:50 2021/08/14
【摘要】 //冒泡排序#include#include//用到swap交换函数 using namespace std;int main(){ int a[5]; //输入数据 for(int i=0;i<5;i++) { cin>>a[i]; } //排序 for(int i=0;i<4;i++) { for(intj=0;j&...

   
  1. //冒泡排序
  2. #include
  3. #include
  4. //用到swap交换函数
  5. using namespace std;
  6. int main()
  7. {
  8. int a[5];
  9. //输入数据
  10. for(int i=0;i<5;i++)
  11. {
  12. cin>>a[i];
  13. }
  14. //排序
  15. for(int i=0;i<4;i++)
  16. {
  17. for(intj=0;j<4-i;j++)
  18. {
  19. if(a[j]>a[j+1])swap(a[j],a[j+1]);
  20. }
  21. }
  22. //输出数据
  23. for(int i=0;i<5;i++)
  24. {
  25. cout<<a[i]<<" ";
  26. }
  27. return 0;
  28. }
  29. //插入排序
  30. #include
  31. #include
  32. using namespace std;
  33. int main()
  34. {
  35. int a[10];
  36. //输入数据
  37. for(int i=0;i<10;i++)
  38. {
  39. cin>>a[i];
  40. }
  41. //排序
  42. for(int i=0;i<10;i++)
  43. {
  44. for(intj=i;j<10;j++)
  45. {
  46. if(a[i]>a[j])swap(a[i],a[j]);
  47. }
  48. }
  49. //输出数据
  50. for(int i=0;i<10;i++)
  51. {
  52. cout<<a[i]<<" ";
  53. }
  54. return 0;
  55. }
  56. //插入排序
  57. #include
  58. using namespace std;
  59. void insert_sort(int* a,intb)//实现插入排序,引入两个参数,a为数组首地址,b为数组元素个数
  60. {
  61. for(int i=1;i
  62. {
  63. int j=i;
  64. intt=*(a+j);//标记待排序的元素
  65. //将大于待排序元素的数整体后移,然后将t插入小于它的数的后面
  66. while(t<*(a+j-1)&&j!=0)
  67. {
  68. *(a+j)=*(a+j-1);
  69. j--;
  70. }
  71. *(a+j)=t;
  72. }
  73. }
  74. int main()
  75. {
  76. int a[5];
  77. for(int i=0;i<5;i++)
  78. {
  79. cin>>a[i];
  80. }
  81. insert_sort(a,5);
  82. for(int i=0;i<5;i++)
  83. {
  84. cout<<a[i]<<" ";
  85. }
  86. }
  87. 注:之前也发过java实现哦,,,


文章来源: czhenya.blog.csdn.net,作者:陈言必行,版权归原作者所有,如需转载,请联系作者。

原文链接:czhenya.blog.csdn.net/article/details/76091290

【版权声明】本文为华为云社区用户转载文章,如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。