三種簡單排序 冒泡 選擇 插入

2021-08-25 22:58:45 字數 891 閱讀 2001

#include

using

namespace

std;

/* 簡單排序:

平均時間複雜度都是o(n方)級別。包括:氣泡排序、插入排序、選擇排序

說明:實現的演算法都是公升序排序。

*/void swap(int &e1, int &e2)

/* 氣泡排序(穩定):

重複地走訪過要排序的元素列,一次比較兩個相鄰的元素,如果他們的順序(如從大到小、首字母從

a到z)錯誤就把他們交換過來。走訪元素的工作是重複地進行直到沒有相鄰元素需要交換,也就是說

該元素已經排序完成。這個演算法的名字由來是因為越大的元素會經由交換慢慢「浮」到數列的頂端

(公升序或降序排列),就如同碳酸飲料中二氧化碳的氣泡最終會上浮到頂端一樣,故名「氣泡排序」。

*/void bubblesort(int *arr, int len)

}if(flag == 0) //某趟排序沒有進行交換時,排序結束

break;

}}/*

插入排序(穩定):

從索引為1的元素(設為temp)開始開始,每次把之前的元素調整成有序序列。由於之前的元素都是有序序列,

從後向前若temp小於當前遍歷到的元素(arr[j]),此元素後移。否則退出此次遍歷。退出後把temp插入當前的arr[j]。

*/void insertsort(int *arr, int len)}/*

選擇排序(不穩定):

每次從待排序的資料元素中選出最小的乙個元素,存放在序列的起始位置,直到全部待排序的資料元素排完。

*/void selectsort(int *arr, int len)

}int main()

C 三種簡單排序 冒泡 選擇 插入

本來是大一c語言基礎,就在這裡記錄一下,就當存個板子 插排是最簡單一種排序方法,也是複雜度較高的一種 void sort insert sort int num num j temp 插入排序的複雜度高,但是是一種穩定的排序方法 include iostream void bubble int a ...

三種簡單排序比較總結(冒泡 插入 選擇)

首先我們了解一下三種演算法穩定性 演算法 穩定性排序方式 時間複雜度 最好時間 空間複雜度 冒泡穩定 交換o n2 o n o 1 插入穩定 直接插入 o n2 o n o 1 選擇不穩定 直接選擇 o n2 o n o 1 三種最好時間都是 在接近有序的時候!接著我們看一下 首先我們定一下陣列 1...

演算法之三種簡單排序 插入 冒泡 插入

插入排序 特點 迴圈陣列,依次比較之前排好順序的資料與該資料的大小 public static void insertsort long arr 氣泡排序 特點 依次迴圈陣列,依次將最小的資料資訊浮於最上面 public static void bubblesort long arr 選擇排序 特點...