7-7 冒泡法排序 (20分)
7-7 冒泡法排序 (20分)
將N個整數按從小到大排序的氣泡排序法是這樣工作的:從頭到尾比較相鄰兩個元素,如果前面的元素大於其緊隨的後面元素,則交換它們。通過一遍掃描,則最後一個元素必定是最大的元素。然後用同樣的方法對前N−1個元素進行第二遍掃描。依此類推,最後只需處理兩個元素,就完成了對N個數的排序。
本題要求對任意給定的K(<N),輸出掃描完第K遍後的中間結果數列。
輸入格式:
輸入在第1行中給出N和K(1≤K<N≤100),在第2行中給出N個待排序的整數,數字間以空格分隔。
輸出格式:
在一行中輸出氣泡排序法掃描完第K遍後的中間結果數列,數字間以空格分隔,但末尾不得有多餘空格。
輸入樣例:
6 2
2 3 5 1 6 4
輸出樣例:
2 1 3 4 5 6
#include <stdio.h>
int main(){
int n,k;
scanf("%d%d",&n,&k);
int arr[n];
for(int i=0;i<n;i++){
scanf("%d",&arr[i]);
}
for(int i=0;i<k;i++){//k為迴圈的次數
for(int j=0;j<n;j++){
if(arr[j]<arr[j-1]){
int temp=arr[j-1];
arr[j-1]=arr[j];
arr[j]=temp;
}
}
}
for(int i=0;i<n;i++){
printf("%d",arr[i]);
if(i!=n-1){
printf(" ");
}
}
return 0;
}
相關文章
- 排序法:選擇、冒泡、插入和快排排序
- 微課|中學生可以這樣學Python(例8.22):冒泡法排序Python排序
- 七、排序,選擇、冒泡、希爾、歸併、快速排序實現排序
- C語言排序 冒泡 選擇 快排C語言排序
- 單連結串列的排序(插入,選擇,冒泡)排序
- JavaScript氣泡排序+Vue視覺化冒泡動畫JavaScript排序Vue視覺化動畫
- 基礎排序(冒泡、選擇、插入)學習筆記排序筆記
- 常見的排序演算法:冒泡、快排、歸併排序演算法
- js冒泡、快排的簡單寫法JS
- 反射,hashlib模組,正則匹配,冒泡,選擇,插入排序反射排序
- 陣列基本操作及冒泡演算法、直接選擇排序陣列演算法排序
- GO -冒泡 二分法查詢Go
- 快速排序法排序
- (三)陣列的定義、折半查詢、排序(選擇和冒泡)陣列排序
- 資料結構和演算法:03.冒泡、選擇排序資料結構演算法排序
- 常見的三種排序演算法(選擇,冒泡,計數)排序演算法
- (建議收藏)2020最新排序演算法總結:冒泡、選擇、插入、希爾、快速、歸併、堆排序、基數排序排序演算法
- C語言:排列陣列的三種方法:冒泡法、選擇法、插入法C語言陣列
- 最簡單易懂的三種排序演算法:冒泡、選擇、插入排序演算法
- 選擇排序法排序
- 氣泡排序法排序
- 2024.10.2 冒泡
- js數值排序中冒泡演算法的4種簡單實現JS排序演算法
- 事件的冒泡事件
- JavaScript 事件冒泡JavaScript事件
- 改進的氣泡排序和選擇排序(雙向冒泡/一次遍歷選出最大和最小的選擇排序)C語言實現排序C語言
- 冒泡演算法演算法
- stopPropagation() 阻止事件冒泡事件
- JavaScript阻止事件冒泡JavaScript事件
- 從零開始學資料結構和演算法(一)冒泡與選擇排序資料結構演算法排序
- 挖坑填數+分治法:快速排序排序
- Golang實現氣泡排序法Golang排序
- c語言:輸入任意10個正整數,按照升序排序輸出:(冒泡演算法)C語言排序演算法
- alanwang[GDOU] 用選擇排序法對10個整數排序排序
- Flutter 通知(Notification)冒泡原理Flutter
- Flutter實現冒泡背景Flutter
- JQuery6:事件冒泡jQuery事件
- 前端也能學演算法:JS版常見排序演算法-冒泡,插入,快排,歸併前端演算法JS排序