📄 quick sort.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 + -