果树电动剪刀价格:【排序结构2】交换排序

来源:百度文库 编辑:中财网 时间:2024/04/29 13:00:51

1、起泡排序 O(N^2)

起泡排序的过程很简单,首先将第一个关键字和第二个关键字比较,若为逆序,则将两个记录交换。然后再用第二个关键字和第三个关键字比较,以此类推,知道第n-1个关键字和第n个比较完,这样最大的关键字将被交换到第n个位置上。这个过程称做第一趟气泡排序。然后对前n-1进行第二趟气泡排序,将第二大的关键字交换到第n-1个位置上。当第n-1趟气泡排序完成之后,有序序列也就随之产生了。

Cpp代码
  1. #include
  2. /**************************
  3. * 起泡排序 Bubble Sort *
  4. **************************/
  5. class BubbleSort{
  6. public:
  7. static void inc_sort(int keys[],int size);
  8. };
  9. void BubbleSort :: inc_sort(int keys[], int size){
  10. for(int i=size-1;i>=0;i--)
  11. for(int j=0;j
  12. if(keys[j]>keys[j+1]){
  13. int temp=keys[j];
  14. keys[j]=keys[j+1];
  15. keys[j+1]=temp;
  16. }
  17. }
  18. for(int k=0;k
  19. cout<
  20. cout<
  21. }
  22. //Test BubbleSort
  23. void main(){
  24. int raw[]={49,38,65,97,76,13,27,49};
  25. int size=sizeof(raw)/sizeof(int);
  26. BubbleSort::inc_sort(raw,size);
  27. }