arrange.h

来自「这是一个运用多种排序法对数据进行排序的程序,排序时间复杂性小,空间复杂性小,排序」· C头文件 代码 · 共 47 行

H
47
字号
#include<iostream.h>
void selectSort(int a[],int l,int r);
void quicksort(int a[],int left,int right)//快速排序,把输入的数分组
{
    if(right-left+1<=10)            //如果组中数据个数小于或者等于10
	{
	  for(int i=0;i<=right-left;i++)//,就把该组数据输出,
         cout<<a[left+i]<<"  ";
	  cout<<endl;               
      selectSort(a,left,right);     //然后用选择排序法把该组排好。
	  return;
	}
	int pivot,l,r,temp;
	l=left;
	r=right;
	pivot=a[(left+right)/2];
	while(l<r)
	{
		while(a[l]<pivot) ++l;
		while(a[r]>pivot) --r;
		if(l>=r) break;
		temp=a[l];
		a[l]=a[r];
		a[r]=temp;
		++l;
		--r;
	}
	if(l==r) l++;
	if(left<r)  quicksort(a,left,l-1);
	if(l<right) quicksort(a,r+1,right);
}
void selectSort(int a[],int l,int r)//选择排序法
{
	int min=0,term;
	for(int i=l;i<=r;i++)
	{
		min=i;
		for(int j=i+1;j<=r;j++)
			if(a[j]<a[min]) min=j;
		if(a[min]<a[i])
		{
			term=a[i];
			a[i]=a[min];
			a[min]=term;
		}	
	}
}

⌨️ 快捷键说明

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