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

📄 quick sort.cpp

📁 使用VC编写的快速排序算法
💻 CPP
字号:
// console_adpcm.cpp : Defines the entry point for the console application.
//

#include "stdafx.h"
#include "sign.h"
    #define   GetsignEocodeOut
    int   global_buffer1[0x7fff];
    char  global_buffer2[0x7fff];
    int   global_buffer3[0x7fff];
    int   Random1=0;
    int   Random2=0;

int main(int argc, char* argv[])
{
    unsigned int Write_Code22;

    int Inputnum1,i;
	char  char5;
    Inputnum1=0;
    printf("please input signnum %x:  %d \n");
    scanf("%d",&Inputnum1);
    printf("\n");
    GetRandomSign(Inputnum1);
 	printf("Hello World!\n");

	return 0;
}


int Str_printf_strname(FILE *fp,char *str_name,int num,int Flag)
{  
	char ch1;
    char ch2[2];
    char Nextline=10;
    char str1[10]="]={";
    fputs(str_name,fp);
    ch1=(num>>8)&0xff;
    Changenumtochar(ch1,ch2);
    fputc('0',fp);
    fputc('x',fp);
    fputc(ch2[0],fp);
    fputc(ch2[1],fp);
    ch1=num&0xff;
    Changenumtochar(ch1,ch2);
    fputc(ch2[0],fp);
    fputc(ch2[1],fp);
	if(Flag==1)
	{
    fputc(';',fp);
    fputc(Nextline,fp);
   
	}
	else
	{
    fputs(str1,fp);
	}

    return 1;
}
int Str_printf_strnum(FILE *fp,int *buffer,int num)
{   
	int j;
    char ch1,ch2[2];
    char Nextline=10;
    char str2[10]="////";
    if(num>0)
	{
    fputc('0',fp);
    fputc('x',fp);
	ch1=(buffer[0]>>8)&0xff;
    Changenumtochar(ch1,ch2);
    fputc(ch2[0],fp);
    fputc(ch2[1],fp);
    ch1=buffer[0]&0xff;
    Changenumtochar(ch1,ch2);
    fputc(ch2[0],fp);
    fputc(ch2[1],fp);
	}
   for(j=1;j<num;j++)
   {
   fputc(',',fp);
   if(j%8==0)
   {
   fputs(str2,fp);
	ch1=((j/8-1)>>8)&0xff;
    Changenumtochar(ch1,ch2);
    fputc(ch2[0],fp);
    fputc(ch2[1],fp);
    ch1=(j/8-1)&0xff;
    Changenumtochar(ch1,ch2);
    fputc(ch2[0],fp);
    fputc(ch2[1],fp);
   fputc(Nextline,fp);
   }
   fputc('0',fp);
   fputc('x',fp);
   ch1=(buffer[j]>>8)&0xff;
   Changenumtochar(ch1,ch2);
   fputc(ch2[0],fp);
   fputc(ch2[1],fp);
   ch1=buffer[j]&0xff;
   Changenumtochar(ch1,ch2);
   fputc(ch2[0],fp);
   fputc(ch2[1],fp);
   }
	return 1;
}
int Str_printf_strchar(FILE *fp,char *buffer,int num)
{   
	int j;
    char ch1,ch2[2];
    char Nextline=10;
    char str2[10]="////";
    if(num>0)
	{
    fputc('0',fp);
    fputc('x',fp);
     ch1=global_buffer2[0]&0xf;
    Changenumtochar(ch1,ch2);
    fputc(ch2[0],fp);
    fputc(ch2[1],fp);
	}
   for(j=1;j<num;j++)
   {
   fputc(',',fp);
   if(j%8==0)
   {
   fputs(str2,fp);
	ch1=((j/8-1)>>8)&0xff;
    Changenumtochar(ch1,ch2);
    fputc(ch2[0],fp);
    fputc(ch2[1],fp);
    ch1=(j/8-1)&0xff;
    Changenumtochar(ch1,ch2);
    fputc(ch2[0],fp);
    fputc(ch2[1],fp);
   fputc(Nextline,fp);
   }
   fputc('0',fp);
   fputc('x',fp);
   ch1=global_buffer2[j]&0xf;
   Changenumtochar(ch1,ch2);
   fputc(ch2[0],fp);
   fputc(ch2[1],fp);
   }
	return 1;
}
int Str_printf_strend(FILE *fp)
{   
   char Nextline=10;
   fputc('}',fp);
   fputc(';',fp);
   fputc(Nextline,fp);
   fputc(Nextline,fp);
	return 1;
}


int  Changenumtochar(char ch6,char *ch4)
{
   int i;
   char ch2;
   int num1,num2;
   num1=(ch6&0xf);
   num2= (( ch6&0xf0)>>4);
   for(i=0;i<2;i++)
   {
   switch(num2)
    {
    case 0:
      ch2='0';
      break;
    case 1:
      ch2='1';
      break;
    case 2:
      ch2='2';
        break;
    case 3:
      ch2='3';
       break;
    case 4:
      ch2='4';
       break;
    case 5:
      ch2='5';
        break;
    case 6:
      ch2='6';
      break;
    case 7:
      ch2='7';
      break;
    case 8:
      ch2='8';
      break;
    case 9:
      ch2='9';
      break;
    case 10:
      ch2='a';
      break;
    case 11:
      ch2='b';
      break;
    case 12:
      ch2='c';
      break;
      case 13:
      ch2='d';
      break;
    case 14:
      ch2='e';
      break;
    case 15:
      ch2='f';
      break;
    }
    ch4[i]=ch2;
   num2=num1;
   }
 return 0;

}
int GetRandom(int num)
{
   int Sign,k;
   k=rand()%2;
   Sign=rand();
   return Sign;
}

int  GetRandomSign(int num)
{   
   int i;
   FILE *fp;
   char str1[100]="int  RandomSign[";
   char str2[100]="int InputNum=";
   char str3[100]="int  RandomSignout[";
   if((fp=fopen("c:\\sign.h","wb"))==NULL)
   {
   printf("1 time Cannot open file strike any key exit!");
   return 0;
   }
   fclose(fp);

   if((fp=fopen("c:\\sign.h","ab+"))==NULL)
   {
   printf("1 time Cannot open file strike any key exit!");
   return 0;
   }
   Str_printf_strname(fp,str2,num,1);
   Str_printf_strname(fp,str1,num,0);
 
   for(i=0;i<num;i++)
   {
    global_buffer1[i]=GetRandom(num);
    global_buffer3[i]=global_buffer1[i];
    }
   Str_printf_strnum(fp,global_buffer1,num);
   Str_printf_strend(fp); 

   quick_sort(global_buffer3,0,num-1);
   Str_printf_strname(fp,str3,num,0);
   Str_printf_strnum(fp,global_buffer3,num);
   Str_printf_strend(fp); 
   fclose(fp);
   return 1;
}


quick_sort(int x[], int low, int high)   
{
	int i=low;
	int j=high;
	int t=x[low];   

  while (i<j)	
  {
	   while (i<j && x[j]>t)  
		   j--;	

		x[i]=x[j];	

	   while (i<j && x[i]<=t) 
		  i++;		 
 
		x[j]=x[i];	 

	  x[i] = t;				
	 
	  quick_sort(x,low,i-1);	
	  quick_sort(x,i+1,high);	
  }
} 

⌨️ 快捷键说明

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