將一組數字遞升排序
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; } } } }
全站熱搜
留言列表