冒泡法和选择法

冒泡法和选择法:

转载:(https://blog.csdn.net/joker_122/article/details/44877837?ops_request_misc=%257B%2522request%255Fid%2522%253A%2522158771014419725256750212%2522%252C%2522scm%2522%253A%252220140713.130102334.app%255Fall.%2522%257D&request_id=158771014419725256750212&biz_id=0&utm_source=distribute.pc_search_result.none-task-blog-2~all~first_rank_v2~rank_v25-1)

由于一直搞混冒泡法和选择法,所以……

其实主要是冒泡的写法,感觉自己写的都不像冒泡= =


  
  
  1. for(i=0;i <10;i++)//冒泡法(平时下意识写的都是这个,应该是冒泡吧)
  2. {
  3. for(j=i+1;j<10;j++)
  4. if(a[i]<a[j])
  5. {
  6. t=a[i];
  7. a[i]=a[j];
  8. a[j]=t;
  9. }
  10. }
  11. for(i=0;i<10;i++)//冒泡法(从大到小,减一好像是因为会超出,不知道为什么从小到大就可以减一也可以不减一,难道是因为随机值是负的= =
  12. {
  13. for(j=0;j<10-i-1;j++)
  14. if(a[j]<a[j+1])
  15. {
  16. t=a[j];
  17. a[j]=a[j+1];
  18. a[j+1]=t;
  19. }
  20. }
  21. for(i=0;i<10;i++)//冒泡法(从小到大)
  22. {
  23. for(j=0;j<10-i;j++)
  24. if(a[j]>a[j+1])
  25. {
  26. t=a[j];
  27. a[j]=a[j+1];
  28. a[j+1]=t;
  29. }
  30. }
  31. for(i=0;i <10;i++)//选择法
  32. {
  33. max=i;
  34. for(j=i+1;j<10;j++)
  35. {
  36. if(a[max]<a[j])
  37. max=j;
  38. }
  39. if(i!=max)
  40. {
  41. t=a[max];
  42. a[max]=a[i];
  43. a[i]=t;
  44. }
  45. }
发布了0 篇原创文章 · 获赞 0 · 访问量 79

猜你喜欢

转载自blog.csdn.net/weixin_43556670/article/details/105740611