zoukankan      html  css  js  c++  java
  • (简单)冒泡和直接选择排序同时调用swap算法

    void swap(int &a , int &b)
    {
        int temp;
        temp = a;
        a=b;
        b=temp;
    }
    
    void bubble(int a[],int n)
    {   int i,j,count; //只用到了2个变量i和j,一次性做对
    
        for(j=0;j<n-1;j++){ //3个元素2趟排序
            count = 0;
            for(i=0;i<n-1-j;i++){//算法1:在一趟排序中,若前面元素大于后面则交换
                if(a[i]>a[i+1]){
                count++;
                swap(a[i],a[i+1]);
                }
            }
            if(count==0) break;
        }
    }
    
    ********************
    
    void swap(int &a, int &b)
    {
        int temp =a;
        a=b;
        b=temp;
    }
    
    //思想:选一个最小的依次放入a[0] a[1] 的位置
    void easy(int a[] , int n)
    {
        int min,flag,i,j;
        for(j=0;j<n-1;j++){ //3个元素要3趟
            min = a[j]; flag = j;
            for(i=j;i<n;i++){//从区间[i,n]找个最小的放入i指向的位置
                if(a[i]<min){
                    min = a[i]; flag = i ; //2句话必须用括号括起来
                }
            }
            swap(a[j],a[flag]);
        }
    }
  • 相关阅读:
    刷题238. Product of Array Except Self
    刷题236. Lowest Common Ancestor of a Binary Tree
    刷题208. Implement Trie (Prefix Tree)
    A1070
    A1048
    A1050
    A1041
    A1092
    A1084
    n进制转十进制
  • 原文地址:https://www.cnblogs.com/cs-lcy/p/7077005.html
Copyright © 2011-2022 走看看