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

📄 快速分类.cpp

📁 包含几十个有关数据结构算法的源代码 包括栈 队列 树图等 是初学者的最佳选择
💻 CPP
字号:
#include <iostream.h>
#include <math.h>

const int size=12800;
double *data;

int main()
{
  extern void quick_sort(double *low_ptr,double *high_ptr);
  extern void display_data(double *data);

  data = new double[size];
  for(int i=0;i<size;i++)
	  * (data+i)=sin(i)/(2.4+sqrt(i));
  quick_sort(data,data+size-1);
  display_data(data);
}

void quick_sort(double *low_ptr,double *high_ptr)
{
  double *pivot_ptr;
  extern double *partition(double *low_ptr,double *high_ptr);

  if(low_ptr<high_ptr)
  {
    pivot_ptr=partition(low_ptr,high_ptr);
	quick_sort(low_ptr,pivot_ptr-1);
	quick_sort(pivot_ptr,high_ptr);
  }
}

double *partition(double *low_ptr,double *high_ptr)
{
  void swap(double &value1,double &value2);
  double pivot = *(low_ptr+(high_ptr-low_ptr)/2);
  while(low_ptr<=high_ptr)
  {
    while(*low_ptr<pivot)
		low_ptr++;
	while(*high_ptr>pivot)
		high_ptr--;
	if(low_ptr<=high_ptr)
		swap(*low_ptr++,*high_ptr--);
  }
  return low_ptr;
}

void swap(double &value1,double &value2)
{
  double temp=value1;
  value1=value2;
  value2=temp;
}

void display_data(double *data)
{
  for(int i=0;i<size;i++)
	  cout<<"\n"<<data[i];
}

⌨️ 快捷键说明

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