qsort.c

来自「mips架构的bootloader,99左右的版本 但源代码现在没人更新了」· C语言 代码 · 共 75 行

C
75
字号
#include <stdio.h>#define MAXNUM 200 #ifndef LOOPS#define LOOPS 10#endif#define MODULUS ((long) 0x20000)#define C 13849L#define A 25173L/**************************************************************  qsort.c*	The standard quicksort benchmark*/static long seed = 7L;       long random();       long buffer[MAXNUM] = {0};main(){int i,j;long temp;/* printf("Filling array and sorting %d times \n",LOOPS); */for(i=0;i<LOOPS;++i)	{	for(j=0;j<MAXNUM;++j)		{		temp=random(MODULUS);		if (temp<0L)			temp=(-temp);		buffer[j]=temp;		}	/* printf("Buffer full,iteration %d\n",i); */	quick(0,MAXNUM-1,buffer);	}/* printf("done\n"); */	exit(0);}quick(lo,hi,base)int lo,hi;long base[];{int i,j;long pivot,temp;if(lo<hi)	{	for(i=lo,j=hi,pivot=base[hi];i<j;)		{		while(i<j && base[i]<=pivot)			++i;		while(j>i && base[j]>=pivot)			--j;		if(i<j)			{			temp = base[i];			base[i]=base[j];			base[j]=temp;			}		}	quick(lo,i-1,base);	quick(i+1,hi,base);	}}long random(size)long size;{seed=seed *A+C;return(seed%size);}

⌨️ 快捷键说明

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