不吹不黑,这几种排序算法真的挺重要的,数据结构这门课程也是很重要的!!!优快云博客上有很详细的讲解,讲的也很好,我发现唯一的缺点是没有一份完整的实现较好的代码,供大家学习参考,所以在此附上一份完整的C++语言实现代码,这份代码对各种排序算法的实现度较高,算是一个完整的小程序吧,同时还有各种排序算法的中间过程,对初学者也比较友好,希望对大家能够有所帮助吧。
#include<iostream>
using namespace std ;
class SORT
{
public:
void InsertSort(int data[],int n); // 插入排序
void BubbleSort(int data[],int n); // 冒泡排序
void SelectSort(int data[],int n); // 选择排序
void RadioSort(int data[],int n) ; //基数排序
void QuickSort(int data[], int left ,int right) ;//快速排序
void MergSort(int data[],int first,int mid,int last,int temp[]); //归并排序
void Merge(int data[],int first,int last,int temp[]);
} ;
//冒泡排序
void SORT::BubbleSort(int data[],int n)
{
int temp;
for (int i = 0; i < n; ++i)
{
for (int j = 0; j < n - i - 1; ++j)
{
if (data[j] > data[j + 1])
{
temp = data[j];
data[j] = data[j + 1];
data[j + 1] = temp;
}
}
cout<<"*";
for(int i=0;i<n;++i) cout<<data[i]<<' ';
cout<<endl;
}
}
//选择排序
void SORT::SelectSort(int data[],int n)
{
for(int j=0;j<n;j++)
{
int min=data[j],mink=j; //先假设未排序的首元素是最小的数
for(int k=j;k<n;k++) //找到尚未排序的元素中最小的数
{
if(data[k]<min)
{
min=data[k];
mink=k;
}
}
int temp=data[j]; //交换两个元素
data[

最低0.47元/天 解锁文章
1754

被折叠的 条评论
为什么被折叠?



