常見排序之簡單選擇排序
#include <stdio.h>
void Simple_Select_Sort(int *Array,int length)
{
int i,j,min,temp;
for(i = 0; i < length; i++)
{
min = i;
for(j = i+1; j < length; j++)
{
if(Array[min] > Array[j])
{
min = j;
}
}
if(min != i)
{
temp = Array[min];
Array[min] = Array[i];
Array[i] = temp;
}
}
for(i = 0; i <length; i++)
{
printf("%d\n",Array[i]);
}
}
int main(void)
{
int cnt ;
int Array_Test[] = {2,4,5,1,3,8,6,7,9,0};
Simple_Select_Sort(Array_Test,10);
return 0;
}
相關推薦
常見排序之簡單選擇排序
#include <stdio.h> void Simple_Select_Sort(int *Array,int length){ int i,j,min,temp; for(i = 0; i < length; i++) { min = i; for(j = i+1; j &l
排序演算法--選擇排序之簡單選擇排序
在待排序記錄中,選擇一個最小的數,和第一個記錄交換位置,在剩下n-1個的記錄中選擇最小的和第二個記錄交換,依次類推,最終可以得到一個有序的序列。 程式碼: #include <string.h> #include <malloc.h> #includ
資料結構:八大排序之簡單選擇排序(選擇排序)
1、演算法思想:在待排記錄中依次選擇關鍵字最小的記錄新增到有序序列中,逐漸縮小範圍直至全部記錄選擇完畢。每一趟從待排的無序區中選出關鍵字最小的記錄,順序放在已排好序的子序列的最後,直至記錄全部排完。 2、複雜度:直接選擇排序的時間複雜度為O(n2)。空間複雜度 O(1) 穩
排序之簡單選擇排序(Simple Selection Sort)
簡單選擇排序(Simple Selection Sort)基本思想: 首先在待排序序列中選擇最小的元素與序列的第一個位置元素交換,然後在剩餘序列中再找出最小的元素與第二個 位置元素交換。以此類推,直至第n-1個元素與第n個元素比較交換為止;(也可以理解為依次
算法一之簡單選擇排序
!= 復雜度 cnblogs 數據 lec 空間 class 相同 i++ 一、 選擇排序的思想 選擇排序的基本思想是:每一趟在n-i+1(i=1,2,…n-1)個記錄中選取關鍵字最小的記錄作為有序序列中第i個記錄。基於此思想的算法主要有簡單選擇排序、樹型選擇
排序算法之簡單選擇排序
clip order ng- left 運行 [] cal var ret 基本思想 在一組元素中選擇具有最小排序碼的元素,若它不是這組元素中的第一個元素,則將它與這組元素中的第一個元素對調;在未排序的剩下的元素中反復運行以上步驟,直到剩余元素僅僅有一
簡單排序演算法之簡單選擇排序和直接插入排序
簡單選擇排序簡述: 簡單選擇排序(Simple Selection Sort)可以說是氣泡排序的一種改版,它不再兩兩比較出較小數就進行交換,而是每次遍歷比較當前數的後面所有數,最後再把最小的數和當前數
排序——直接選擇排序(簡單選擇排序)
無序 代碼 .... 插入排序 相對 方法 import 排序 color 直接選擇排序也稱簡單選擇排序,是一種相對簡單的排序算法,它的基本思想是:從一列數中找出最小的,和第一個交換;剩下的重新找出最小的,和這列數的第二個交換,......一直進行n-1次比較之後,該數列已
Java排序之直接選擇排序
循環 oid 之間 min static cts ava void ont public class SelectSort { public static void selectSort(int [] a){ int min; int te
陣列排序之直接選擇排序
一、基本思想 直接選擇排序屬於選擇排序的一種,其排序速度要比氣泡排序快,其基本思想就是將指定排序位置與其他陣列元素分別進行對比,如果滿足條件就交換元素值,注意區別冒牌排序,這裡不是交換相鄰元素,而是把
排序整理——簡單選擇排序
簡單選擇排序是指一種排序演算法,在簡單選擇排序過程中,所需移動記錄的次數比較少。最好情況下,即待排序記錄初始狀態就已經是正序排列了,則不需要移動記錄。方法是設所排序序列的記錄個數為n。i取1,2,…,n-1,從所有n-i+1個記錄(Ri,Ri+1
排序 (2) -----簡單選擇排序和氣泡排序
簡單選擇排序和氣泡排序 兩種方法都是每一趟找出最大(小)的他放在一個位置,下一趟不用去管這個位置,只是兩種方法採用的找的形式不一樣 1. 簡單選擇排序:固定位置與前(後)面的比較 例子:5 1 6 2 假如按從小到大排序 5:粗體標記表示 固定的位置 5:這種標記表示已經排好
排序演算法(一)氣泡排序,簡單選擇排序,直接插入排序,希爾排序
氣泡排序,簡單選擇排序,直接插入排序是三種複雜度為O(n2)的演算法,希爾排序在特殊增量序列的時候可以獲得複雜度為O(n3/2) 氣泡排序 1、最簡單的排序實現 這裡把每個數和這個數之後的每個數比較,大於就交換位置。 缺點:多出了很多次沒有用的交
選擇排序之樹形選擇排序(TreeSelectionSort)
一、簡單選擇排序思想 很顯然,每次我們比較後就把資料進行交換,取出了關鍵字最小的記錄,但是對於與最小關鍵字記錄交換的資料我們直接扔進了亂序中,沒有利用這次比較。導致每次選擇都要重新比較。 二、樹形選擇排序 為了減少簡單選擇排序,我們利用前n-1
資料結構和算法系列6 七大排序之直接選擇排序和堆排序
上一篇我們總結了交換排序的氣泡排序和快速排序。那麼這一篇我們要總結的是選擇排序,選擇排序分為直接選擇排序和堆排序,我們主要分以下幾點進行總結。 1,直接選擇排序及演算法實現 2,堆排序及演算法實現 1,直接選擇排序及演算法實現 直接選擇排序(Straight Select Sort)是一種簡單的排序方法,它
七大內部排序演算法總結(插入排序、希爾排序、氣泡排序、簡單選擇排序、快速排序、歸併排序、堆排序)
寫在前面: 排序是計算機程式設計中的一種重要操作,它的功能是將一個數據元素的任意序列,重新排列成一個按關鍵字有序的序列。因此排序掌握各種排序演算法非常重要。對下面介紹的各個排序,我們假定所有排序的關鍵字都是整數、對傳入函式的引數預設是已經檢查好了的。只
C語言實現氣泡排序和簡單選擇排序
氣泡排序(Bubble Sort)的基本思想為兩兩比較相鄰記錄的關鍵字,如果反序則交換,直到沒有反序記錄為止。 其時間複雜度為O(n^2)。 簡單選擇排序(Simple Selection Sort)
八大排序演算法 —— 簡單選擇排序
簡單插入排序 核心思想:簡單選擇排序就是從待排的元素中選擇最小的元素,凡在已排元素的後面,依次迴圈n次,實現排序。 演算法實現過程: 初始關鍵字:『 8,5,2,6,9,3,1,4,0,7 』 第一趟排序後:0,『5,2,6,9,3,1,4,8,7』
排序演算法——簡單選擇排序
選擇排序基本思想 在要排序的一組數中,選出最小(或者最大)的一個數與第1個位置的數交換;然後在剩下的數當中再找最小(或者最大)的與第2個位置的數交換,依次類推,直到第n-1個元素(倒數第二個數)和第n
資料結構例程——選擇排序之直接選擇排序
#include <stdio.h> #define MaxSize 20 typedef int KeyType; //定義關鍵字型別 typedef char InfoTy