程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> C語言 >> 關於C語言 >> 冒泡排序,冒泡排序法

冒泡排序,冒泡排序法

編輯:關於C語言

冒泡排序,冒泡排序法


for(int k=0;k<N;k++) {
  for(int j=k+1;j<N;j++){
    if(a[k]>a[j]){
      int t = a[k];
      a[k] = a[j];
      a[j] = t;
    }
  }
}

當k=N-1時,內部程序循環了0次,說明未走到內部的數值交換處理中,下面代碼【帶實例】中的方法解決了此問題,個人比較喜歡用下面這種。

#include<stdio.h>
int main(){
int data[10]={-100, 79, -3, 0, 49, 21, 8, 200, 12341, 0};
printf("數組原序為:");
for(int i=0;i<10;i++){
printf("%5d",data[i]);
}
printf("\n\n冒泡升序為:");
for(int i=0;i<10-1;i++){
for(int j=0;j<10-1-i;j++){
if(data[j]>data[j+1]){
int temp = data[j];
data[j] = data[j+1];
data[j+1] = temp;
}
}
}
for(int i=0;i<10;i++){
printf("%5d",data[i]);
}
}

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved