自適應網站設計規(guī)范企業(yè)的互聯(lián)網推廣
聽說過冒泡排序么?一種很暴力的排序方法。今天我們不希望你用它來排序,而是希望你能算出從小到大冒泡排序的過程中一共進行了多少次數據交換。
輸入格式:
輸入數據的第一行為一個正整數 T ,表示有 T 組測試數據。
接下來T行,每行第一個整數N, 然后有N個整數,無序。0<N <= 100
輸出格式:
輸出共 T 行。
每行一個整數,代表本行數據從小到大冒泡排序所進行的交換次數
輸入樣例:
在這里給出一組輸入。例如:
3
5 1 2 3 4 5
4 5 3 7 1
2 2 1
輸出樣例:
在這里給出相應的輸出。例如:
0
4
1
#include <stdio.h>
int Bubble_sort(int arr[],int x)
{int cnt=0;for(int i=0;i<x-1;i++)// 趟數{for(int j=0;j<x-1-i;j++)// 每趟要比的對數{if(arr[j]>arr[j+1])cnt++;}}return cnt;
}
int main()
{int T,N;scanf("%d",&T);while(T--){int arr[100]={0};// !!!scanf("%d",&N);for(int i=0;i<N;i++)scanf("%d",&arr[i]);int ret=Bubble_sort(arr,N);printf("%d\n",ret);}return 0;
}
?