將一組數字遞升排序

uint16_t a[]={9,8,7,6,5,4,3,2,1};

rankUp(a,9); //呼叫副程式,陣列大小

 

void rankUp(uint16_t *arr, byte aSize){ //宣告arr為uint16型態的指標
uint16_t tempData;
  aSize-=1;  //2個之間比較,所以執行n-1次.
    for(int i=0;i<aSize;i++){
         for(int j=0;j<(aSize-i);j++){
             if(arr[j]>arr[j+1]){
                 tempData=arr[j+1];
                 arr[j+1]=arr[j];
                 arr[j]=tempData;
             }
         }
    }  
}

 

void loop()
{
        uint16_t a[]={9,8,7,6,5,4,3,2,1};
        int *ptA=a;
       
        Serial.print("排序前");
        for(int i=0;i<9;i++){
          Serial.print(a[i]);
          Serial.print("->");
        }
        rankUp(a,9);
        Serial.println("");
        Serial.print("排序後");
        for(int i=0;i<9;i++){
          Serial.print(a[i]);
          Serial.print("->");
        }
        while(1);
}

void rankUp(uint16_t *arr, byte aSize){
uint16_t tempData;
  aSize-=1;
    for(int i=0;iarr[j+1]){
                 tempData=arr[j+1];
                 arr[j+1]=arr[j];
                 arr[j]=tempData;
             }
         }
    }  
}


arrow
arrow
    全站熱搜
    創作者介紹
    創作者 門外漢 的頭像
    門外漢

    門外漢的筆記

    門外漢 發表在 痞客邦 留言(0) 人氣()