排序是很基礎的東西了,本篇文章總結了一下常用的排序方法,選擇排序,插入排序,氣泡排序,歸併排序,快速排序。
前面三種排序演算法效率都比較低,時間複雜度都是o(n²)
選擇排序法:
選擇排序是從n個待排序的數中找到最小的數,放到第0個位置上,然後再從剩下的n-1個數里找到最小的,放到第1個位置上……,直到所有元素排好序。
void selectionsort(int a,int size) //選擇排序法
a[j]=temp;
break;}}
}for(int i=0;i氣泡排序法:
void bubblesort(int a,int size)
}for(int i=0;i下面兩種排序法的時間複雜度均為o(nlogn)
歸併排序:
void merge(int a,int s,int m,int e,int tmp)
void quicksort(int a,int s,int e)
quicksort(a,s,i-1);
quicksort(a,i+1,e);
}
C語言 氣泡排序 總結
氣泡排序.cpp 定義控制台應用程式的入口點。include stdafx.h include include define count 6 定義常量 int tmain int argc,tchar argv int i 0 int k 0 int c 0 for i 0 i while 0 c ...
C語言陣列排序總結
1 冒泡法 冒泡法大家都較熟悉。其原理為從a 0 開始,依次將其和後面的元素比較,若a 0 a i 則交換它們,一直比較到a n 同理對a 1 a 2 a n 1 處理,即完成排序。下面列出其 void bubble int a,int n 定義兩個引數 陣列首位址與陣列大小 冒泡法原理簡單,但其缺...
C語言排序演算法總結
排序演算法一直都是讓我頭疼的演算法。為了全面掌握排序演算法,我就整理了常用的排序演算法。首先我們來了解一些基本概念 1 穩定排序和非穩定排序 簡單地說就是所有相等的數經過某種排序方法後,仍能保持它們在排序之前的相對次序,我們就 說這種排序方法是穩定的。反之,就是非穩定的。比如 一組數排序前是a1,a...