⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 sortmain.cpp

📁 王红梅数据结构(c++)配套光盘。这本书是很好的数据结构方面的书。
💻 CPP
字号:
#include <iostream>
using namespace std;


void InsertSort(int r[], int n);                  //直接顺序排序
void ShellSort(int r[], int n);                   //希尔排序
void BubbleSort(int r[], int n);                  //起泡排序
int Partition(int r[], int first, int end);       //快速排序一次划分
void QuickSort(int r[], int first, int end);      //快速排序
void SelectSort(int r[ ], int n);                 //简单选择排序
void Sift(int r[], int k, int m);                 //筛选法调整堆
void HeapSort(int r[ ], int n);                   //堆排序
void Merge(int r[], int r1[], int s, int m, int t);//一次归并
void MergePass(int r[ ], int r1[ ], int n, int h); //一趟归并
void MergeSort1(int r[ ], int r1[ ], int n );      //归并排序的非递归算法
void MergeSort2(int r[], int r1[], int r2[],int s, int t);//归并排序的递归算法

int main()
{
 
  const int numv=11;                                //赋值
  int a[]={0,3,56,32,78,5,24,9,64,34,7};
  int b[]={0,4,6,23,45,15,10,36,25,79,21};
  int c[]={38,23,56,2,79,42,93,29,6,5,57};
  int d[]={50,23,45,67,87,14,29,32,44,97,89};
  int e[]={8,6,1,48,37,63,39,74,52,26,49};
  int f[]={12,23,45,87,2,6,15,43,26,40,44};
  int g[]={13,10,23,45,64,34,24,7,9,3,16};
  int h[]={34,23,54,76,12,13,14,11,78,8};
  int g1[numv];
  int h1[numv];
  int h2[numv];  

  cout << "\n直接顺序排序前:" << "\n";
  for(int j=1;j<numv;j++)
	  cout<<a[j]<<" ";
  cout << "\n直接顺序排序结果为:" << "\n";
  InsertSort(a,numv);  

  cout << "\n希尔排序前:" << "\n";
  for(j=1;j<numv;j++)
	  cout<<b[j]<<" ";
  cout << "\n希尔排序结果为:" << "\n";
  ShellSort(b, numv);
  
  cout << "\n起泡排序前:" << "\n";
  for(int k=0;k<numv;k++)
	  cout<<c[k]<<" ";
  cout << "\n起泡排序结果为:" << "\n";
  BubbleSort(c, numv);

  cout << "\n快速排序前:" << "\n";
  for(j=0;j<numv;j++)
	  cout<<d[j]<<" ";
  cout << "\n快速排序结果为:" << "\n";
  QuickSort(d,0,numv-1);  
  for(int i=0;i<numv;i++)
     cout<<d[i]<<" ";
  cout<<"\n";

  cout << "\n简单选择排序前:" << "\n";
  for(j=0;j<numv;j++)
	  cout<<e[j]<<" ";
  cout << "\n简单选择排序结果为:" << "\n";
  SelectSort(e,numv);

  cout << "\n堆排序前:" << "\n";
  for(j=0;j<numv;j++)
	  cout<<f[j]<<" ";
  cout << "\n堆排序结果为:" << "\n";
  HeapSort(f, numv);

  cout << "\n归并排序非递归算法前:" << "\n";
  for(j=0;j<numv;j++)
	  cout<<g[j]<<" ";
  cout << "\n归并排序非递归算法的结果为:" << "\n";
  MergeSort1(g, g1,numv );

  cout << "\n归并排序递归算法前:" << "\n";
  for(j=0;j<numv;j++)
	  cout<<h[j]<<" ";
  cout << "\n归并排序递归算法的结果为:" << "\n";
  MergeSort2(h,h1,h2, 0, numv-1);
  for(i=0; i < numv; i++)
       cout<<h1[i]<<" ";
  cout<<"\n";

  return 0;
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -