d氣泡排序

blowhen發表於2020-10-16

d氣泡排序

資料結構持續總結ing

#include <string.h>
#include <stdio.h>
//輸出k=0 

void BubbleSort(int a[],int n){//氣泡排序
	int temp;
    for(int i=0;i<n-1;i++){
        bool flag=false;//表示本趟冒泡是否發生交換的標誌 
        for(int j=n-1;j>i;j--)//一趟冒泡過程 
            if(a[j-1]>a[j])//若為逆序 
            {
                temp=a[j-1];
                a[j-1]=a[j];
                a[j]=temp;
                flag=true;
            }//交換 
        if(flag==false)
		return;
    }
    
}
int main(){
	//第一步 
	int arr[5];
	int k,n=5;
	
	//第二步 
	printf("please input the array:\n ");
	for(k=0;k<n;k++)//注意此時k=0 
        scanf("%d",&arr[k]);
    
	//第三步 
	BubbleSort(arr,n);
	
	//第四步 
    printf("the result of sort is: \n");
    for(k=0;k<n;k++)
        printf("%d,",arr[k]);
        printf("\n");
	
	return 0;
}





相關文章