簡單排序演算法

2021-08-08 06:45:41 字數 987 閱讀 2493

一、選擇排序

如果有n個元素需要排序,那麼首先從n個元素中找到最小的那個(稱為第0小的)放在第0個位子上(和原來的第0個位子上的元素交換位置),然後再從剩下的n-1個元素中找到最小的放在第1個位子上,然後再從剩下的n-2個元素中找到最小的放在第2個位子上……直到所有的元素都就位。

void selectionsort(int a ,int size)

//下面將第i小的元素放在第i個位子上,並將原來佔著第i個位子的元素挪到後面

int tmp = a[i];

a[i] = a[tmpmin];

a[tmpmin] = tmp;

}}

二、插入排序

1、將整個陣列a分為有序的部分和無序的兩個部分。前者在左邊,後者在右邊。

2、開始有序的部分只有a[0],其餘都屬於無序的部分

3、每次取出無序部分的第乙個(最左邊)元素,把它加入到有序部分。假設插入到合適位置p, 則原p位置及其後面的有序部分元素,都向右移動乙個位子。有序的部分即增加了乙個元素。

4、直到無序的部分沒有元素。

void insertionsort(int a,int size)

}}

三、氣泡排序

1、將整個陣列a分為有序的部分和無序的兩個部分。前者在右,後者在左邊。

2、開始,整個陣列都是無序的。有序的部分沒有元素。

3、每次要使得無序部分最大的元素移動到有序部分第乙個元素的左邊。移動的方法是:依次比較相鄰的兩個元素,如果前面的比後面的大,就交換他們的位置。這樣,大的元素就像水裡氣泡一樣不斷往上浮。移動結束有序部分增加了乙個元素。

4、直到無序的部分沒有元素。

void bubblesort(int a , int size )

}}

簡單排序演算法

package com.shine.sort 排序演算法 說明 排序演算法分為三種 插入排序 交換排序 選擇排序 1.插入排序 直接插入排序 折半插入排序 希爾排序 2.交換排序 氣泡排序 快速排序 3.選擇排序 直接選擇排序 堆排序 public class mysort 希爾排序 描述 1.將乙...

簡單排序演算法

演算法思想 將初始序列 a 0 a n 1 作為待排序序列,第一趟在待排序序列 a 0 a n 1 中找最小值元素,與該序列中第乙個元素a 0 交換,這樣的子串行 a 0 有序,下一趟排序在待排序子串行 a 1 a n 1 中進行。第i趟排序在待排序子串行 a i 1 a n 1 中,找最小值元素,...

簡單排序演算法

第乙個 氣泡排序 簡單來說,就是不停的與旁邊的比較,然後交換,總之運算的交換次數挺多的,後面再來比較幾種排序方法 void bubblesorthead int pdata,int count 這是一種實現形式,還有另一種 void bubblesorttail int pdata,int coun...