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

📄 ms.c

📁 是用快速排序对一列数进行排序
💻 C
字号:
#include "stdio.h"
void merge(int a[],int b[],int l,int m,int r)
{
  int i=l;
  int j=m+1;
  int k=0;
  int q;
  while((i<=m)&&(j<=r))

  if(a[i]<=a[j])
     b[k++]=a[i++];
       else b[k++]=a[j++];
   if(i>m)
        for( q=j;q<=r;q++)
		 b[k++]=a[q];
	else
  
     for( q=i;q<=m;q++)
		 b[k++]=a[q];
	 
	
 
}

void copy(int a[],int b[],int l,int r)
{   
	int i=l;
	int k=0;
    while(i<=r)
	{
    a[i++]=b[k++];

	}
}

void mergeSort(int a[],int left,int right)
{

   int b[10]={0};
   if(left<right)
   {
	   
     int i=(left+right)/2;
	 mergeSort(a,left,i);
	 mergeSort(a,i+1,right);
	 merge(a,b,left,i,right);//merge two parts to b
	 copy(a,b,left,right);//copy b to a

   }
}


main()
{
	int a[10]={10,78,43,9,0,2,3,4,2,1};
     int i;
  mergeSort(a,0,9);
  for(i=0;i<10;i++)
	  printf("%d\n",a[i]);
}

⌨️ 快捷键说明

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