排序 簡單排序

2022-09-19 23:54:13 字數 726 閱讀 6893

一、氣泡排序

源**:

void bubble_sort(int *array, int size_array)

}if(flag == 0) break;}}

二、插入排序

原理:從第二個元素開始向前比較判斷,如果比前乙個元素小,則前乙個元素往後移動一位,直到第乙個元素或者前面條件不成立,將該元素插入當前位置。

源**:

void insertion_sort(int *array, int size_array)

}三、選擇排序

原理:可以簡單理解為冒泡的逆過程,從第乙個元素開始,找出所有元素的最小值,將最小值和第乙個元素交換,依次類推,從第二個第三個做同樣的操作,最後得到乙個有序序列

源**:

void selection_sort(int *array, int size_array)

swap(&array[i],&array[min_position]);}}

四、希爾排序

原理:可以看作是插入排序的公升級,前兩種排序最壞時間複雜度都是o(n^2),希爾排序不採用相鄰兩個元素之間進行比較插入,而是選擇有一定間隔的元素之間進行比較插入,原因是為了能一次消除多個逆序對,減少時間複雜度,間隔的大小按規則減小,直到間隔為1進行一次插入排序,得到有序的元素序列。

關鍵:選取增量序列

源**:

void shell_sort(int *array, int size_array)}}

排序 簡單排序

氣泡排序 函式名 bubble sort 功能 實現公升序排序 引數 帶排序的陣列,陣列的長度 返回值 為空 描述 時間複雜度為o n 2 輔助空間為o 1 有一種變形的氣泡排序 雞尾酒排序,它是雙向的氣泡排序,時間複雜度也為o n 2 void bubble sort int bubble,int...

簡單排序 選擇排序

package cnic.cn.impl public class selectionsort change array out swap value array out array max array max change output for int i 0 i 9 i 選擇排序的效率問題 選擇...

簡單排序 氣泡排序

1.排序演算法的簡要介紹 排序是非常重要的的並且是非常耗時的,所以它已經成為乙個電腦科學中廣泛研究的課題,而且人們已經研究出了一些非常成熟的演算法。目前最簡單的排序演算法包括 氣泡排序 選擇排序和插入排序。每乙個演算法都由乙個例項說明。更加複雜的排序演算法包括 希爾排序和快速排序。儘管簡單排序演算法...