1. 程式人生 > >C語言自學完備手冊(19)——氣泡排序

C語言自學完備手冊(19)——氣泡排序

##版權宣告

##C語言程式碼如下

#include <stdio.h>
#include <stdlib.h>
#define NUMBER 5

void bubbleSort(int array[],int length){
    int i,j;
    for(i=0;i<length-1;i++){
        for(j=0;j<length-1-i;j++){
            if(array[j]>array[j+1]){
                int temp=array[j];
                array[j]=array[j+1];
                array[j+1]=temp;
            }
        }
    }
}

int main()
{
    int i,j;
    int height[NUMBER];
    printf("請您輸入%d個人的身高\n",NUMBER);
    for(i=0;i<NUMBER;i++){
        printf("%d號:",i+1);
        scanf("%d",&height[i]);
    }
    bubbleSort(height,NUMBER);
    puts("排序結果如下:");
    for(j=0;j<NUMBER;j++){
        printf("第%d號:%d\n",j+1,height[j]);
    }
    return 0;
}

##Java語言程式碼如下

package com.algorithm;
public class BubbleSort {

	public static void main(String[] args) {
		int [] intArray={11,99,77,5,0,-1};
		for(int i=0;i<=intArray.length-1;i++) {
			System.out.println("i="+i+" "+intArray[i]);
		}
		bubble(intArray);
	}
	
	public static void printArray(int [] intArray) {
		for(int i=0;i<intArray.length;i++) {
			System.out.print(intArray[i]+" ");
		}
	}
	
	public static void swap(int [] intArray,int i,int j) {
		int temp=0;
		temp=intArray[i];
		intArray[i]=intArray[j];
		intArray[j]=temp;
	}
	
	public static void bubble(int [] intArray) {
		for(int i=0;i<intArray.length-1;i++) {
			for(int j=0;j<intArray.length-1-i;j++) {
				if(intArray[j]>intArray[j+1]) {
					swap(intArray,j,j+1);
				}
			}
		}
		printArray(intArray);
	}
	
}