排序方法(氣泡排序法)
氣泡排序
排序的方法有很多,這裡排序方法用氣泡排序。
氣泡排序,每一趟迴圈都確定一位數字的位置,所以n個數只需進行n-1次(確定了n-1位,最後一個自然會被確定)就可以了。氣泡排序和選擇排序差不多,只不過比較的方法不一樣。選擇排序總是第一個數和後面的數比較,成立就交換位置,從第一個數確定位置。氣泡排序是第一個數和第二個數進行比較,第二個數和第三個數比較,條件成立就交換位子,從最後一個數開始確定。
程式碼實現
#include<stdio.h> int main() { int a[10]; int i,j,t; for(i=0;i<10;i++) scanf("%d",&a[i]); for(j=0;j<9;j++)//十個數只需確認9個數的位置,迴圈九次 for(i=0;i<9-j;i++)//每一次迴圈進行9-j比較 { if(a[i]>a[i+1])//相鄰兩個數比較 { t=a[i];a[i]=a[i+1];a[i+1]=t;//交換位子 } } for(i=0;i<10;i++) printf("\n%d\t",a[i]); return 0;
大家可以比較一下選擇和冒泡的具體不同,要熟練使用兩中方法;
相關推薦
排序方法(氣泡排序法)
氣泡排序 排序的方法有很多,這裡排序方法用氣泡排序。 氣泡排序,每一趟迴圈都確定一位數字的位置,所以n個數只需進行n-1次(確定了n-1位,最後一個自然會被確定)就可以了。氣泡排序和選擇排序差不多,只不過比較的方法不一樣。選擇排序總是第一個數和後面的數比較,成立就交換位置,從第一個數確定位置
(排序演算法)linux c語言實現選擇排序演算法(氣泡排序的略微改進版)
快速排序演算法和氣泡排序演算法是差不多的,都是要兩層迴圈,外迴圈是要比較的個數,其實就是元素的個數,內迴圈就是外層那個標記和其他的比較大小, 氣泡排序是相鄰的兩個,兩兩比較,最後交換出一個最大或者最小值, 快速排序是在氣泡排序的基礎上,找出那個最小的或者最大的,但是不是直接交換,
《資料結構與演算法》之排序演算法(氣泡排序、選擇排序)
排序(Sorting) 是計算機程式設計中的一種重要操作,它的功能是將一個數據元素(或記錄)的任意序列,重新排列成一個關鍵字有序的序列。 排序演算法分類: 一、非線性時間比較類排序 1、交換排序(氣泡排序、快速排序) 2、插入排序(簡單插入排序、布林排序) 3、選擇排序(簡單選擇
排序方法(選擇排序)
選擇排序法 我們先用三個數放入a, b, c,變數中排序簡單來探究選擇排序法思想。第一輪先將a和b比較,較大數放入a中,再將a和c比較大的數放入a中; 比如 a=6; b=7;c=8; 第一輪確定第一位 第一次比較 a=7;b=6;c=8; 第二次比較 a=8;b=6;c=7; 第二輪後確定
十大排序演算法(氣泡排序,快速排序,插入排序等)
氣泡排序 <1>.比較相鄰的元素。如果第一個比第二個大,就交換它們兩個; <2>.對每一對相鄰元素作同樣的工作,從開始第一對到結尾的最後一對,這樣在最後的元素應該會是最大的數; <3>.針對所有的元素重複以上的步驟,除了最後一個; <4>.
JavaScript中陣列(Array)的排序方法(reverse和sort)
陣列中已經存在有兩個可以直接使用的排序方法: reverse()和 sort() 這兩個方法的返回值都是經過重排序之後的陣列 reverse ( ) reverse( ) 方法的作用很簡單,就是反轉陣列的順序。 var colors = new Array("red", "
排序演算法(氣泡排序,插入排序,選擇排序)的Java實現
// 氣泡排序 public int[] bubble(int[] a) { for (int i = 0; i < a.length-1; i++) { // 相鄰的兩個數做比較,小的想上冒泡,-1防止陣列下標越界 for (int j
C語言中常用排序演算法(氣泡排序、選擇排序、插入排序、希爾排序、快速排序、堆排序)實現比較
以下程式在win10 X64位作業系統,使用VS2017執行驗證可行 排序是非常重要且很常用的一種操作,有氣泡排序、選擇排序、插入排序、希爾排序、快速排序、堆排序等多種方法。 例項1 冒泡法排序 1.前言: 陣列中有N個整數,用冒泡法將它們從小到大(或從大到小)排序。冒泡法
JS實現排序演算法(氣泡排序、快速排序)
const a = [21, 3, 242, 3432, 13, 13, 123, 4, 35, 22, 1]; // 氣泡排序 // 核心思想:每次比較相鄰的數,如果它們順序錯誤,就把它們交換過來。如同氣泡一樣往後翻滾。 // 最外層的迴圈,每次至少要讓一個元素歸位。 /
排序演算法(氣泡排序、選擇排序、插入排序、歸併排序、快速排序、希爾排序)
氣泡排序 核心: 相鄰元素兩兩比較,大的往後放。第一次比較完畢以
關於陣列的排序問題(氣泡排序,選擇排序,插入排序)
方法一:氣泡排序法 程式碼: public int[] bubbleSort(int[] a){ //氣泡排序演算法 //每趟不斷將相鄰記錄兩兩比較,並按“前小後大”(或“前大後小”)規
Java資料結構:排序演算法(氣泡排序,選擇排序,插入排序,希爾排序,快速排序,堆排序和合並排序)
public class 氣泡排序 { public static void main(String[] args) { int a[] = { 1, 9, 6, 8, 5, 65, 65, 84, 1, 2, 5, 23, 7, 889 }; for (int i
Javascript資料結構演算法之排序一(氣泡排序,插入排序,選擇排序)
在計算機中儲存的資料執行的兩種最常見操作是排序和檢索。 本次介紹的是氣泡排序,插入排序,選擇排序三種基本排序演算法。其中外迴圈會遍歷陣列每一項,內迴圈則用於比較元素。其中原理參考逝者如斯,不捨晝夜的部落格園。 網頁展示 程式碼部分
判斷是否包含非法字元的方法(小白法)
-(BOOL) isContainIllegality { NSString *name = self.userName.text; for (int i=0; i<name.len
C程式設計——氣泡排序改進(雞尾酒排序法)
1、程式檔案 #include <stdio.h> // 兩兩交換 void mySwap(int *a, int i, int j) { int tmp = a[i]; a[i] = a[j]; a[j] = tmp; } // 雞尾酒排序 void mySort
簡單的排序演算法(插入排序法、氣泡排序法、選擇排序法)
#include <iostream> #include<algorithm> #include<stdio.h> using namespace std; int A[100]; int N,v; void insertionSort(int A[], int N); v
數字排序問題(逆序,順序)(氣泡排序法,選擇排序法)
應用冒泡法發按逆序排列 #include <iostream> using namespace std; int main() { int a[11]= {2,5,2,4,3,8,
排序演算法---之交換排序(氣泡排序&快速排序-左右指標法,挖坑法,前後指標法)
排序演算法----交換排序(氣泡排序&快速排序) 一、排序演算法分為: 1.插入排序(直接插入排序&希爾排序) 2.選擇排序(直接選
輸出從大到小排序的成績(氣泡排序法)
使用氣泡排序法: #include <iostream> usingnamespace std; int main() //輸出從大到小排序的成績 { int n
資料結構與算法系列十一(氣泡排序)
1.引子 1.1.為什麼要學習資料結構與演算法? 有人說,資料結構與演算法,計算機網路,與作業系統都一樣,脫離日常開發,除了面試這輩子可能都用不到呀! 有人說,我是做業務開發的,只要熟練API,熟練框架,熟練各種中介軟體,寫的程式碼不也能“飛”起來嗎? 於是問題來了:為什麼還要學習資料結構與演算法呢? #理