冒泡排序、插入排序、快速排序C++编程

浅浅的花香味﹌ 2021-09-10 09:40 414阅读 0赞

为工作而准备的,自己用VS2010写的。。

  1. #include <iostream>
  2. using namespace std;
  3. void maopao(int input[],int n)
  4. {
  5. cout<<"冒泡排序:"<<endl;
  6. int i,j,k;
  7. for(i=n;i>0;i--)
  8. {
  9. for(j=0;j<i-1;j++)
  10. {
  11. if(input[j]>input[j+1])
  12. {
  13. input[j]+=input[j+1];
  14. input[j+1]=input[j]-input[j+1];
  15. input[j]-=input[j+1];
  16. }
  17. }
  18. for(k=0;k<n;k++)
  19. cout<<input[k]<<" ";
  20. cout<<endl;
  21. }
  22. }
  23. void insertsort(int input[],int n)
  24. {
  25. cout<<"插入排序:"<<endl;
  26. int i,j,k;
  27. for(i=1;i<n;i++)
  28. {
  29. for(j=i-1;j>=0;j--)
  30. {
  31. if(input[j+1]>=input[j])
  32. break;
  33. else
  34. {
  35. input[j]+=input[j+1];
  36. input[j+1]=input[j]-input[j+1];
  37. input[j]-=input[j+1];
  38. }
  39. }
  40. for(k=0;k<n;k++)
  41. cout<<input[k]<<" ";
  42. cout<<endl;
  43. }
  44. }
  45. void qicksort(int a[],int left,int right)
  46. {
  47. int i,j;
  48. if(left<right)
  49. {
  50. i=left;
  51. j=right;
  52. int temp=a[left];
  53. do
  54. {
  55. while(a[j]>temp&&i<j)
  56. j--;
  57. if(i<j)
  58. {
  59. a[i]=a[j];
  60. i++;
  61. }
  62. while(a[i]<temp&&i<j)
  63. i++;
  64. if(i<j)
  65. {
  66. a[j]=a[i];
  67. j--;
  68. }
  69. } while (i<j);
  70. a[i]=temp;
  71. // int k;
  72. // for(k=0;k<6;k++)
  73. // cout<<a[k]<<" ";
  74. // cout<<endl;
  75. qicksort(a,left,i-1);
  76. qicksort(a,i+1,right);
  77. }
  78. }
  79. void main()
  80. {
  81. int a[]={10,5,8,4,2,6};
  82. int i;
  83. for(i=0;i<6;i++)
  84. cout<<a[i]<<" ";
  85. cout<<endl;
  86. //maopao(a,6);
  87. //insertsort(a,6);
  88. qicksort(a,0,5);
  89. //for(i=0;i<6;i++)
  90. //cout<<a[i]<<" ";
  91. //cout<<endl;
  92. system("pause");
  93. }

发表评论

表情:
评论列表 (有 0 条评论,414人围观)

还没有评论,来说两句吧...

相关阅读

    相关 冒泡排序快速排序--C语言

      排序算法分为内部排序和外部排序,内部排序又分为交换排序、选择排序、插入排序。今天写一下交换排序的算法。   交换排序的思想是比较两个对象的关键字,如果这两个对象的关键字