zoukankan      html  css  js  c++  java
  • 大小排序法,個人理解(沒有做優化)

    隨便定義一個整型數組

    1 int[] arr = {3,6,2,3,7,3,1,5,3,9,0,5};

    這個數組的長度為12,索引為0~11

    嘗試使用以下代碼將最大值替換到最後一位

    for(int i = 0;i < arr.length-1; i++) {
                if(arr[i] > arr[i+1]){
                    int temp = arr[i];
                    arr[i] = arr[i+1];
                    arr[i+1] = temp;
                }
            }

    運行結果為633732539150為確保無誤,將此代碼循環執行几次,發現確實有效

    數了一下替換為有序數組的次數,正好與數組的長度相同,即每個數組的元素都會與數組中的其他元素相比較並考慮是否替換

    以下代碼為從大到小排序,反之比較大小則為從小到大排序

    1 for(int j = 0;j < arr.length;j++) {
    2             for(int i = 0;i < arr.length-1; i++) {
    3                 if(arr[i] < arr[i+1]){
    4                     int temp = arr[i];
    5                     arr[i] = arr[i+1];
    6                     arr[i+1] = temp;
    7                 }
    8             }
    9         }

    最後做一下總結,此方法可行但是數組每次循環時,都會與其他元素進行比較(包括最大或最小的元素即已經排序好的元素),這個地方可以優化

    因上努力,果上随缘
  • 相关阅读:
    js 实现图片上传
    关于IOS不能使用JQUERY的ON事件
    js实现复制
    订单列表倒计时
    小程序实现倒计时
    微信小程序服务消息推送
    python爬虫七
    python爬虫六
    python爬虫五
    python爬虫四
  • 原文地址:https://www.cnblogs.com/zemengcheng/p/13060171.html
Copyright © 2011-2022 走看看