若乙個陣列儲存n個元素,則要進行n-1趟排序,且每進行一次排序,最大(小)的數都會出現在右邊。
#include
using
namespace std;
intmain()
;for
(int i=
1;i<=
4;i++
)//n-1次排序
for(
int j=
0;j<
5-i;j++)if
(a[j]
>a[j+1]
)for
(int i=
0;i<
5;i++
) cout<<<
"\t"
;return0;
}
這是排序演算法是我最先接觸到的演算法,當數較少時,複雜度沒有太大影響,但數多時,該方法不應該再使用,複雜度較大
#include
using
namespace std;
intmain()
;for
(int i=
0;i<
4;i++
)for
(int j=i+
1;j<
5;j++)}
for(
int i=
0;i<
5;i++
) cout<<<
"\t"
;return0;
}
乙個陣列,以第乙個數為基準,然後其後的無序陣列中的每乙個數,跟有序陣列的每乙個數進行比較,從而最後得到乙個有序陣列
#include
using
namespace std;
intmain()
;for
(int i=
1;i<=
4;i++
) a[j]
=temp;
}for
(int i=
0;i<
5;i++
) cout<<<
"\t"
;return0;
}
演算法筆記 氣泡排序 插入排序 選擇排序
氣泡排序 插入排序 選擇排序 歸併排序 快速排序 計數排序 基數排序 桶排序。對於排序演算法執行效率的分析,我們一般會從這幾個方面來衡量 1.最好情況 最壞情況 平均情況時間複雜度 2.時間複雜度的係數 常數 低階 3.比較次數和交換 或移動 次數 氣泡排序 bubble sort 氣泡排序只會操作...
Java排序演算法之氣泡排序 插入排序 選擇排序
一 前言 排序是日常中最常見的一種演算法,常見的演算法有 氣泡排序 插入排序 選擇排序 歸併排序 快速排序 計數排序 快速排序 基數排序 桶排序。那麼該怎樣分析和學習排序演算法呢?二 演算法的分析課 在上述的八種排序方法中,根據時間複雜度和是否基於比較可以為三種 排序演算法 時間複雜度 是否基於比較...
演算法 選擇 插入 氣泡排序
選擇排序,就是每次選擇未排序中最小的,放到第i個位置。比如第一次,遍歷整個陣列,找到陣列中最小的,放到第乙個位置 第二次從第2個元素開始遍歷,找到最小的,放到第2個位置 以此類推,流程如下。輸出結果 012 3568 9插入排序,第一次迴圈,當做0 0號位置已經排好序,需要做的是從0 1號位置排序,...