日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

c语言 冒泡排序法

發(fā)布時間:2024/8/1 编程问答 34 豆豆
生活随笔 收集整理的這篇文章主要介紹了 c语言 冒泡排序法 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

一、什么是冒泡法

冒泡排序是一種簡單的排序算法,它也是一種穩(wěn)定排序算法。
其實現原理是重復掃描待排序序列,并比較每一對相鄰的元素,當該對元素順序不正確時進行交換。一直重復這個過程,直到沒有任何兩個相鄰元素可以交換,就表明完成了排序。

二、舉例實現 (從小到大)

以冒泡法(從小到大)為例
原理:比較相鄰的元素,將值大的元素交換到右邊

原始數組數據:8 4 20 5 總共4個數 len = 4

1.冒泡法過程列出:

相鄰兩個數比較,大的數交換到右邊
第0輪4 8 20 5 、4 8 20 5 、4 8 5 20 ---------max = 20
第1輪4 8 5、4 5 8 ------------------------------ max =8
第2輪4 5 -----------------------------------------------max = 5

2.冒泡法的兩個循環(huán)i j 確定:

i = 比較的輪數
j = 每一輪比較中相鄰數比較的次數

4個數,經過3輪比較,i = 3
即:

for(i = 0;i<3;i++)

j的規(guī)律如下:

ij
03
12
21
for(j=0;j<3-i;j++)

3.冒泡法的編程:

#include <stdio.h>void sort(int arry[],int len) {int i,j,tmp;for(i=0;i<len-1;i++){for(j=0;j<len-1-i;j++){if(arry[j] > arry[j+1]){tmp = arry[j];arry[j] = arry[j+1];arry[j+1] = tmp; } } } }int main() { int m; int arry[4] = {8,4,20,5};int len = sizeof(arry)/sizeof(arry[0]);sort(arry,len); for(m=0;m<len;m++){printf("%d ",arry[m]); }putchar('\n');return 0; } //打印結果:4 8 5 20

如果要按照從大到小排列只要改變if條件:

if(arry[j] < arry[j+1]){------}

總結

以上是生活随笔為你收集整理的c语言 冒泡排序法的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。