C語言實現各種排序演算法

2021-07-27 09:51:17 字數 1345 閱讀 5965

對輸入的n個數進行排序並輸出。 

輸入描述:

輸入的第一行包括乙個整數n(1<=n<=100)。

接下來的一行包括n個整數。

輸出描述:

可能有多組測試資料,對於每組資料,將排序後的n個整數輸出,每個數後面都有乙個空格。

每組測試資料的結果佔一行。

輸入例子:

4

1 4 3 2

輸出例子:

1 2 3 4

ac code:

#include#include#include#include#include#include#include#include#include#define ll long long

#define exp 1e-9

#define maxn 1000010

using namespace std;

/*插入排序*/

void insertsort(int r,int n)

r[j+1]=tmp;

}} /*選擇排序*/

void selectsort(int r,int n)

} if(flag==0)

return; }}

/*快速排序*/

void quicksort(int r,int l,int r)

for(i=n;i>=2;--i)

} /*歸併排序*/

#define n 100010

int tmp[n],r[n];

int ans=0;//順帶求逆序數

void merge(int l,int m,int r)

else

}while(i<=m)

tmp[k++]=r[i++];

while(j<=r)

tmp[k++]=r[j++];

for(i=l;i<=r;i++) }

void mergesort(int l,int r) }

int main()

// insertsort(r,len);

// selectsort(r,len);

// bubblesort(r,len);

// quicksort(r,1,len);

// heapsort(r,len);

mergesort(1,len);

for(i=1;i<=len;i++)

puts("");

}

}

C語言實現各種排序(1)

include 排序分為插入排序,希爾排序,氣泡排序,快速排序,選擇排序,堆排序,歸併排序,基數排序 桶排序 直接插入排序,較為簡單,思路為從第二個數開始逐個將其插入前面有序的序列中 平均時間複雜度為o n2 最快時間複雜度為o n 最壞時間複雜度為o n2 空間複雜度為o 1 void inser...

排序演算法(C語言實現)

本文共介紹了7種排序演算法 參考文章 1.1 基本思想 依次向後兩兩相鄰比較,大的向後移 1.2 示例 void bubblesort int a,int n 2.1 基本思想 從無序佇列中選擇最小值,放置到有序佇列的末尾 2.2 示例 void selectsort int a,int n a j...

排序演算法 氣泡排序 C語言實現

氣泡排序介紹 氣泡排序 bubble sort 又稱為氣泡排序。這是一種較簡單的排序演算法。它會遍歷若干次要排序的陣列,每次遍歷時,它都會從前往後依次比較相鄰兩個數的大小 如果前者大於後者,則兩者位置互換。由此,一次遍歷後,最大元素就在數列末尾。採用相同方法再次遍歷時,第二大的元素就被排列在最大元素...