数据结构#排序
JaSparrow
这个作者很懒,什么都没留下…
展开
-
数据结构(C++) —— 八种排序算法总结
#include <iostream>#include <cmath>using namespace std;class Sort{private: int* data; int length; int quick(int first,int last); void Merger(int first,int last1,int last2); void MergePass(int h); public: Sort(i原创 2021-05-26 23:04:20 · 692 阅读 · 0 评论 -
C++ 数据结构——二路归并(非递归实现)
/* 二路归并排序(非递归实现) */#include <iostream>using namespace std;int length=10;int *data;void Merge(int first,int last1,int last2){ int i,j,k; int *temp=new int[length]; i=first;j=last1+1;k=first; while (i<=last1&&j<=la原创 2021-04-11 17:06:47 · 361 阅读 · 0 评论 -
C++ 数据结构——二路归并排序(递归)
/* 二路归并排序(递归实现) */#include <iostream>using namespace std;int length=12;int *data;void Merge(int first1,int last1,int last2){ int *temp=new int[length]; int i=first1,j=last1+1,k=first1; while (i<=last1&&j<=last2)原创 2021-04-11 15:24:31 · 877 阅读 · 2 评论 -
C++ 数据结构——堆排序
/* 堆排序 */#include <iostream>using namespace std;int *data;void Sift(int k,int last){ int i,j,temp; i=k;j=2*i+1; while (j<=last) { if(j<last&&data[j]<data[j+1]) j++; if(data[i]>data[j])原创 2021-04-11 14:08:43 · 98 阅读 · 0 评论 -
C++ 数据结构——选择排序
/* 选择排序 */#include <iostream>using namespace std;void SelectSort(int a[],int n){ int i,j,index,k; for(i=0;i<n-1;i++) //进行n-1次排序 { index=i; for(j=i+1;j<n;j++) //在无序区选择最小元素 { if(a[原创 2021-04-11 13:18:17 · 159 阅读 · 0 评论 -
C++ 数据结构——快速排序
/* 快速排序 */#include <iostream>using namespace std;int *data;int Partition(int first,int last){ int i=first,j=last,temp; while (i<j) { while (i<j&&data[i]<=data[j]) j--; //右侧扫描 if(i<j) {原创 2021-04-11 11:51:10 · 124 阅读 · 0 评论 -
C++ 数据结构——冒泡排序
/* 冒泡排序 */#include <iostream>using namespace std;void BubbleSort(int a[],int length){ for(int i=0;i<length-1;i++) { for(int j=0;j<length-i-1;j++) { if(a[j]>a[j+1]) { int t原创 2021-04-11 11:05:22 · 229 阅读 · 0 评论 -
C++ 数据结构——希尔排序
/* 希尔排序 */#include <iostream>using namespace std;void ShellSort(int a[],int length){ int d,i,j,temp; for(d=length/2;d>=1;d=d/2) { for(i=d;i<length;i++) { temp=a[i]; for(j=i-d;j>=0&原创 2021-04-11 10:54:03 · 154 阅读 · 0 评论 -
C++ 数据结构——直接插入排序
/* 直接插入排序 */#include <iostream>using namespace std;void InsertSort(int a[],int length){ int i,j,temp; for(i=1;i<length;i++) { temp=a[i]; for(j=i-1;j>=0&&temp<a[j];j--) { a[j+1]=a[原创 2021-04-11 10:38:46 · 121 阅读 · 0 评论