Ò׽ؽØͼÈí¼þ¡¢µ¥Îļþ¡¢Ãâ°²×°¡¢´¿ÂÌÉ«¡¢½ö160KB

¿ìËÙÅÅÐò(QuickSort)CÓïÑÔ°æ

¿ìËÙÅÅÐòµÄºËÐÄÔÚÓÚ·ÖÖÎ.
·ÖÖÎËã·¨:
1. È϶¨Ö»ÓÐÒ»¸öÔªËØ»òûÓÐÔªËصÄÊý×éÊÇÓÐÐòµÄ.
2. ½«Êý×é°´ÕÕÒ»¸ö·Ö½çÖµ·ÖΪ×óÓÒÁ½²¿·Ö. ×óÃæËùÓÐÔªËØÖµ±È·Ö½çֵС, ÓÒÃæËùÓÐÔªËØÖµ±È·Ö½çÖµ´ó»òµÈÓÚ.
3. ½«×óÓÒÁ½²¿·Ö·Ö±ðÔÙ·ÖÖÎ, Ö±µ½Òª·ÖÖ§µÄ²¿·ÖÖ»ÓÐÒ»¸öÔªËØ»òûÓÐÔªËØ, ÄÇôÕû¸öÊý×é¾ÍÊÇÓÐÐòµÄÁË.
×÷Õß: selfimpr
²©¿Í: http://blog.csdn.net/lgg201
ÓÊÏä: lgg860911@yahoo.com.cn
#include <stdio.h>
#include <time.h>
#include <stdlib.h>
#define LENGTH 500000
/*
* ´òÓ¡Ò»¸öÖ¸¶¨µÄÊý×é
*/
void printArray(int array[], int length);
/*
* ½«Ö¸¶¨Êý×éµÄÖ¸¶¨²¿·Ö·ÖÖÎ, ·µ»Ø·ÖÖεã.
* @argument division: ·Ö½çµã(ϱê)
* @argument left: ·ÖÖβ¿·ÖµÄ×óϱê
* @argument right: ·ÖÖβ¿·ÖµÄÓÒϱê
*/
int part(int array[], int division, int left, int right);
/*
* ÅÅÐòÖ¸¶¨Êý×éµÄÖ¸¶¨Î»ÖÃÔªËØ.
*/
void sort(int array[], int left, int right);
/*
* @author: selfimpr
* @blog: http://blog.csdn.net/lgg201
* @email: lgg860911@yahoo.com.cn
*/
int main() {
int array[LENGTH];
int i;
srand( (unsigned) time(NULL) );
for(i = 0; i < LENGTH; i ++) {
array[i] = rand() % LENGTH;
}
/*
* printArray(array, LENGTH);
* printf("\n\n");
*/
clock_t start = clock();
printf("Start at %d.\n", (unsigned)start);
sort(array, 0, LENGTH - 1);
clock_t end = clock();
printf("End at %d.\n", (unsigned)end);
/*
* printArray(array, LENGTH);
*/
printf("Sorted %d numbers in %d millisecond.", LENGTH, (unsigned)end - (unsigned)start);
return 0;
}
void printArray(int array[], int length) {
int i;
for(i = 0; i < length; i ++) {
printf("%d ", array[i]);
if((i + 1) % 10 == 0) {
printf("\n");
}
}
}
/*
* ·ÖÖÎËã·¨:
* ÒÔdivisionϱêµÄÔªËØֵΪ·Ö½çµã, ½«Êý×é·Ö³É×óÓÒÁ½¸ö²¿·Ö.
* ·µ»Ø·Ö½çµãµÄϱê.
* ¹ý³Ì:
* 1. ±£Áô·Ö½çµãÔªËصÄÖµ.
* 2. Òƶ¯×óÖ¸Õë, Ö±µ½Ò»¸öÖµ²»Ð¡ÓÚ·Ö½çÖµ.
* 3. ÅжÏÊÇ·ñÒѾ­»®·ÖÁËËùÓÐÔªËØ, Èç¹ûÊÇ, Ìø³ö.
* 4. ½«×óÖ¸ÕëÄ¿Ç°µÄÖµ¸´ÖƵ½divisionλÖÃ, Ö


Ïà¹ØÎĵµ£º

c/c++±ÊÊÔ


1£®½ø³ÌºÍÏ̵߳IJî±ð¡£
Ïß³ÌÊÇÖ¸½ø³ÌÄÚµÄÒ»¸öÖ´Ðе¥Ôª,Ò²Êǽø³ÌÄڵĿɵ÷¶ÈʵÌå.
Óë½ø³ÌµÄÇø±ð:
(1)µ÷¶È£ºÏß³Ì×÷Ϊµ÷¶ÈºÍ·ÖÅäµÄ»ù±¾µ¥Î»£¬½ø³Ì×÷ΪӵÓÐ×ÊÔ´µÄ»ù±¾µ¥Î»
(2)²¢·¢ÐÔ£º²»½ö½ø³ÌÖ®¼ä¿ÉÒÔ²¢·¢Ö´ÐУ¬Í¬Ò»¸ö½ø³ÌµÄ¶à¸öÏß³ÌÖ®¼äÒ²¿É²¢·¢Ö´ÐÐ
(3)ÓµÓÐ×ÊÔ´£º½ø³ÌÊÇÓµÓÐ×ÊÔ´µÄ¶ÀÁ¢µ¥Î»£¬Ï̲߳»ÓµÓÐϵͳ×ÊÔ´£¬µ«¿ÉÒ ......

ÔÚAIX»úÆ÷ÉϵÄC³ÌÐò

¡¾checkpass.c¡¿
#include <stdio.h>
#include <string.h>
 
int checkpass(void){
   int x;
   char a[9];
   x = 0;
   fprintf(stderr,"a at %p and\nx at %p\n", (void *)a, (void *)&x);
   printf("Enter a short word: ");
&nbs ......

cÓïÑÔµÄ×Ô¶¯ÀàÐÍת»»

×Ô¶¯×ª»»×ñÑ­ÒÔϹæÔò£º
1)        Èô²ÎÓëÔËËãÁ¿µÄÀàÐͲ»Í¬£¬ÔòÏÈת»»³ÉͬһÀàÐÍ£¬È»ºó½øÐÐÔËËã¡£
2)        ת»»°´Êý¾Ý³¤¶ÈÔö¼ÓµÄ·½Ïò½øÐУ¬ÒÔ±£Ö¤¾«¶È²»½µµÍ¡£ÈçintÐͺÍlongÐÍÔËËãʱ£¬ÏÈ°ÑintÁ¿×ª³ÉlongÐͺóÔÙ½øÐÐÔËËã¡£
   &n ......

CÓïÑÔÖ¸Õ루һ£©


Ö¸ÕëÊÇ£ÃÓïÑÔÖй㷺ʹÓõÄÒ»ÖÖÊý¾ÝÀàÐÍ¡£ÔËÓÃÖ¸Õë±à³ÌÊÇ£ÃÓïÑÔ×îÖ÷ÒªµÄ·ç¸ñÖ®Ò»¡£ÀûÓÃÖ¸Õë±äÁ¿¿ÉÒÔ±íʾ¸÷ÖÖÊý¾Ý½á¹¹£»Äܷܺ½±ãµØʹÓÃÊý×éºÍ×Ö·û´®£»²¢ÄÜÏó»ã±àÓïÑÔÒ»Ñù´¦ÀíÄÚ´æµØÖ·£¬´Ó¶ø±à³ö¾«Á·¶ø¸ßЧµÄ³ÌÐò¡£Ö¸Õ뼫´óµØ·á¸»ÁË£ÃÓïÑԵŦÄÜ¡£Ñ§Ï°Ö¸ÕëÊÇѧϰ£ÃÓïÑÔÖÐ×îÖØÒªµÄÒ»»·£¬ÄÜ·ñÕýÈ·Àí½âºÍʹÓÃÖ¸ÕëÊÇÎÒÃÇÊÇ·ñÕÆÎÕ ......

CÓïÑÔÖ¸Õ루¶þ£©


Ö¸ÕëÊÇ£ÃÓïÑÔÖй㷺ʹÓõÄÒ»ÖÖÊý¾ÝÀàÐÍ¡£ÔËÓÃÖ¸Õë±à³ÌÊÇ£ÃÓïÑÔ×îÖ÷ÒªµÄ·ç¸ñÖ®Ò»¡£ÀûÓÃÖ¸Õë±äÁ¿¿ÉÒÔ±íʾ¸÷ÖÖÊý¾Ý½á¹¹£»Äܷܺ½±ãµØʹÓÃÊý×éºÍ×Ö·û´®£»²¢ÄÜÏó»ã±àÓïÑÔÒ»Ñù´¦ÀíÄÚ´æµØÖ·£¬´Ó¶ø±à³ö¾«Á·¶ø¸ßЧµÄ³ÌÐò¡£Ö¸Õ뼫´óµØ·á¸»ÁË£ÃÓïÑԵŦÄÜ¡£Ñ§Ï°Ö¸ÕëÊÇѧϰ£ÃÓïÑÔÖÐ×îÖØÒªµÄÒ»»·£¬ÄÜ·ñÕýÈ·Àí½âºÍʹÓÃÖ¸ÕëÊÇÎÒÃÇÊÇ·ñÕÆÎÕ ......
© 2009 ej38.com All Rights Reserved. ¹ØÓÚE½¡ÍøÁªÏµÎÒÃÇ | Õ¾µãµØͼ | ¸ÓICP±¸09004571ºÅ