資料結構中有六大經典的排序演算法,分別是氣泡排序、選擇排序、插入排序、歸併排序、快速排序和堆排序,以下是用c++實現的六大經典演算法的**:
**1.氣泡排序:**
#include
#include
#include
using
namespace
std;
//一次氣泡排序
void bubble(int arr,int size)
}}//多次氣泡排序
void bubblesort(int arr, int size)
}//測試部分
void main() ;
bubblesort(arr, 5);
for (auto c : arr)
cout
<< endl;
}**2.選擇排序:**
#include
#include
#include
#include
using
namespace
std;
//此函式用於找到一次迴圈的最大值
void select(int arr, int size)
}swap(arr[pos], arr[size - 1]);
}//此函式用於剩餘size-1個數進行求最大數並把最大數放在第size-1個位置
void selectsort(int arr, int size)
}void main() ;
selectsort(arr, 5);
for (auto c : arr)
cout
<< endl;
}**3.插入排序:**
#include
#include
#include
using
namespace
std;
void insert(int arr, int i)
}arr[i] = key;
}void insertsort(int arr, int len)
}void main() ;
insertsort(arr, 10);
for (auto c : arr)
}**4.歸併排序**
#include
#include
#include
using
namespace
std;
void merge(int arr, int l, int m, int r)
for (int i = m; i <= r; i++)
int i = 0, j = 0, k = 0;
while (i < 4 && j < 4)
else
}while (i < 4)
while (j < 4)
}void main() ;
merge(arr, 0, 4, 7);
for (auto c : arr)
cout
<< endl;
}**5.快速排序**
#include
#include
#include
#include
using
namespace
std;
void quick(int arr, int l,int r)
while (arr[j] > pivot)
if (i <= j)
}if (l < j)
if (i < r)
}void main() ;
quick(arr, 0, 4);
for(auto c:arr)
cout
<< endl;
}**6.堆排序**
#include
#include
#include
using
namespace
std;
//父節點大於左右子節點
void heap(int arr, int index, int len)
if (right if (index != max)
}//從最後乙個節點開始建大頂堆,從下往上建堆
void heaplist(int arr, int len)
}//將根節點與最後乙個節點進行交換
void heapsort(int arr, int len)
}void main() ;
heapsort(arr, 10);
for (auto c : arr)
}
排序演算法C 實現
整理一下排序演算法。首先乙個陣列,a 我們先要從大到小經行排序 1.按照人們最直觀的思想,應該是一次次的遍歷,每次從裡面取最大的乙個,放到另乙個陣列裡面,這就是簡單選擇排序。2.我們從第乙個值開始,跟其後面的值對比,如果後面的大,則與後面的交換。那麼每一次的結果就是最小被放到了最後,接著是第二小的唄...
演算法 排序(C 實現)
1.氣泡排序 氣泡排序採用兩兩比較的方式。如果要由小到大排序,並且從前往後遍歷,那麼將大的往後放,第一重迴圈是比較幾輪,也就是陣列個數,第二重迴圈是從 0 到總數減去輪數。氣泡排序 void mybubble vector values 2.快速排序 快速排序就是選擇乙個基準資料,然後在陣列中 後前...
排序演算法 分配排序 C 實現
與之前的那些比較排序不同,分配排序在排序過程無須比較關鍵字,而是通過 分配 和 收集 過程來實現排序。它們的時間複雜度可達到線性階 o n 常見的分配排序有計數排序 counting sort 基數排序 radix sort 桶排序 bucket sort 美國旗幟排序 american flag ...