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

¹é²¢ÅÅÐòËã·¨ C´úÂëʵÏÖ

ºÏ²¢ÅÅÐò£¨MERGE SORT£©ÊÇÓÖÒ»À಻ͬµÄÅÅÐò·½·¨£¬ºÏ²¢µÄº¬Òå¾ÍÊǽ«Á½¸ö»òÁ½¸öÒÔÉϵÄÓÐÐòÊý¾ÝÐòÁкϲ¢³ÉÒ»¸öеÄÓÐÐòÊý¾ÝÐòÁУ¬Òò´ËËüÓֽй鲢Ëã·¨¡£ËüµÄ»ù±¾Ë¼Ïë¾ÍÊǼÙÉèÊý×éAÓÐN¸öÔªËØ£¬ÄÇô¿ÉÒÔ¿´³ÉÊý×éAÊÇÓÖN¸öÓÐÐòµÄ×ÓÐòÁÐ×é³É£¬Ã¿¸ö×ÓÐòÁеij¤¶ÈΪ1£¬È»ºóÔÙÁ½Á½ºÏ²¢£¬µÃµ½ÁËÒ»¸ö N/2 ¸ö³¤¶ÈΪ2»ò1µÄÓÐÐò×ÓÐòÁУ¬ÔÙÁ½Á½ºÏ²¢£¬Èç´ËÖظ´£¬ÖµµÃµÃµ½Ò»¸ö³¤¶ÈΪNµÄÓÐÐòÊý¾ÝÐòÁÐΪֹ£¬ÕâÖÖÅÅÐò·½·¨³ÆΪ2—·ºÏ²¢ÅÅÐò¡£
¡¡¡¡ÀýÈçÊý×éAÓÐ7¸öÊý¾Ý£¬·Ö±ðÊÇ£º 49 38 65 97 76 13 27£¬ÄÇô²ÉÓù鲢ÅÅÐòËã·¨µÄ²Ù×÷¹ý³ÌÈçͼ7Ëùʾ£º
¡¡¡¡³õʼֵ [49] [38] [65] [97] [76] [13] [27]
¡¡¡¡¿´³ÉÓɳ¤¶ÈΪ1µÄ7¸ö×ÓÐòÁÐ×é³É
¡¡¡¡µÚÒ»´ÎºÏ²¢Ö®ºó [38 49] [65 97] [13 76] [27]
¡¡¡¡¿´³ÉÓɳ¤¶ÈΪ1»ò2µÄ4¸ö×ÓÐòÁÐ×é³É
¡¡¡¡µÚ¶þ´ÎºÏ²¢Ö®ºó [38 49 65 97] [13 27 76]
¡¡¡¡¿´³ÉÓɳ¤¶ÈΪ4»ò3µÄ2¸ö×ÓÐòÁÐ×é³É
¡¡¡¡µÚÈý´ÎºÏ²¢Ö®ºó [13 27 38 49 65 76 97]
¡¡¡¡ºÏ²¢Ëã·¨µÄºËÐIJÙ×÷¾ÍÊǽ«Ò»Î¬Êý×éÖÐÇ°ºóÏàÁÚµÄÁ½¸öÁ½¸öÓÐÐòÐòÁкϲ¢³ÉÒ»¸öÓÐÐòÐòÁС£ºÏ²¢Ëã·¨Ò²¿ÉÒÔ²ÉÓõݹéËã·¨À´ÊµÏÖ£¬ÐÎʽÉϽÏΪ¼òµ¥,µ«ÊµÓÃÐԺܲºÏ²¢Ëã·¨µÄºÏ²¢´ÎÊýÊÇÒ»¸ö·Ç³£ÖØÒªµÄÁ¿,¸ù¾Ý¼ÆËãµ±Êý×éÖÐÓÐ3µ½4¸öÔªËØʱ,ºÏ²¢´ÎÊýÊÇ2´Î,µ±ÓÐ5µ½8¸öÔªËØʱ,ºÏ²¢´ÎÊýÊÇ3´Î,µ±ÓÐ9µ½16¸öÔªËØʱ,ºÏ²¢´ÎÊýÊÇ4´Î£¬°´ÕÕÕâÒ»¹æÂÉ,µ±ÓÐN¸ö×ÓÐòÁÐʱ¿ÉÒÔÍƶϳöºÏ²¢µÄ´ÎÊýÊÇX(2 >=N,·ûºÏ´ËÌõ¼þµÄ×îСÄǸöX)¡£
¡¡¡¡Æäʱ¼ä¸´ÔÓ¶ÈΪ£ºO(nlogn).ËùÐ踨Öú´æ´¢¿Õ¼äΪ£ºO(n)
¡¡¡¡¹é²¢Ëã·¨ÈçÏ£º
   #include<stdio.h>
#include<stdlib.h>
typedef int RecType;//ÒªÅÅÐòÔªËØÀàÐÍ
void Merge(RecType *R,int low,int m,int high)
{
//½«Á½¸öÓÐÐòµÄ×ÓÎļþR[low..m)ºÍR[m+1..high]¹é²¢³ÉÒ»¸öÓÐÐòµÄ×ÓÎļþR[low..high]
int i=low,j=m+1,p=0; //Öóõʼֵ
RecType *R1; //R1ÊǾֲ¿ÏòÁ¿
R1=(RecType *)malloc((high-low+1)*sizeof(RecType));
if(!R1)
{
return; //ÉêÇë¿Õ¼äʧ°Ü
}
while(i<=m&&j<=high) //Á½×ÓÎļþ·Ç¿ÕʱȡÆäСÕßÊä³öµ½R1[p]ÉÏ
{
R1[p++]=(R[i]<=R[j])?R[i++]:R[j++];
}
while(i<=m) //ÈôµÚ1¸ö×ÓÎļþ·Ç¿Õ£¬Ôò¸´ÖÆÊ£Óà¼Ç¼µ½R1ÖÐ
{
R1[p++]=R[i++


Ïà¹ØÎĵµ£º

½â¶Á¸´ÔÓµÄC/C++ÉùÃ÷[ʵսƪ]

ÕâÊÇÈëÃÅƪÖÐÌáµ½µÄÄÇÁ½Ì⣺
int * (* (*fp1) (int) ) [10];
int *( *( *arr[5])())();
½â´ðÈçÏÂ
1.int * (* (*fp1) (int) ) [10];
´ÓÍâÍùÄÚ½øÐзÖÎö
a.typedef P=(* (*fp1) (int) )£¬ÄÇôԭÉùÃ÷¸ÄдΪ int*P[10]£¬ÕâÊÇÒ»¸öÓÐ10¸öÔªËصÄÊý×飬ÿ¸öÔªËض¼ÊÇÒ»¸öÖ¸ÏòÕûÐÍÊýµÄÖ¸Õë
b.typedef Q=(*fp1)£¬ÄÇôP¸ÄдΪ *Q( ......

c/c++ÄÚ´æ»®·Ö

Ò»¡¢Ò»¸ö¾­¹ý±àÒëµÄC/C++µÄ³ÌÐòÕ¼ÓõÄÄÚ´æ·Ö³ÉÒÔϼ¸¸ö²¿·Ö£º
¡¡¡¡1¡¢Õ»Çø£¨stack£©£ºÓɱàÒëÆ÷×Ô¶¯·ÖÅäºÍÊÍ·Å £¬´æ·Åº¯ÊýµÄ²ÎÊýÖµ¡¢¾Ö²¿±äÁ¿µÄÖµµÈ£¬ÉõÖÁº¯ÊýµÄµ÷Óùý³Ì¶¼ÊÇÓÃÕ»À´Íê³É¡£Æä²Ù×÷·½Ê½ÀàËÆÓÚÊý¾Ý½á¹¹ÖеÄÕ»¡£
¡¡¡¡2¡¢¶ÑÇø£¨heap£© £ºÒ»°ãÓɳÌÐòÔ±ÊÖ¶¯ÉêÇëÒÔ¼°ÊÍ·Å£¬ Èô³ÌÐòÔ±²»ÊÍ·Å£¬³ÌÐò½áÊøʱ¿ÉÄÜÓÉOS»ØÊÕ ......

CµÄº¯ÊýÖ¸ÕëʵÏÖC++µÄ¶à̬

CµÄº¯ÊýÖ¸ÕëºÜÇ¿´ó£¬ÓúÃÁ˲ÅÊÇCÓïÑԵĸßÊÖ¡£ÏñGtkÖеĻص÷º¯ÊýµÄʹÓ㬶¼ÌåÏÖÁ˺¯ÊýÖ¸ÕëµÄÇ¿´óÍþÁ¦¡£
struct Point{
int x, y;
};
/*Shape*/
/*----------------------------------------------------------------*/
struct Shape {
struct Methods* methods;
};

struct Meth ......

cÖкÍjavaÖÐÊý×éµÄÇø±ð

  ¶ÔÓÚÔ­ÓïÀàÐ͵ÄÊý×飬Èçint[]   a,ÔÚCÀïÃæÖ»ÒªÕâÑù¶¨ÒåÖ®ºó¾Í¿ÉÒÔÓÃa[i]ʹÓÃÁË£¬µ«ÊÇÔÚJAVAÀïÃæÊDz»Ðеģ¬±ØÐëÓÃint[]   a   =   new   int[LENGTH];À´ÎªÊý×é·ÖÅä¿Õ¼ä¡£ÕâÀïµÄa¸üÓ¦¸Ã¿´³ÉCÀïÃæµÄÖ¸Õ룬ËüºÍCÀïÃæµÄint*   aÊÇÒ»ÑùµÄ£¬ÒòΪÕâ¸öa£¨CÀïÃæµÄ£©Ò²ÒªÏÈmallocÒ»¸ö¿Õ¼äÖ®ºó²Å¿ ......

Pelles C±àÒëÆ÷¼ò½é

Ö÷Ò³£º        http://www.christian-heffner.de/
ÏÂÔØÁ´½Ó£º  http://www.christian-heffner.de/index.php?page=download¡´=en
¼ò½é£º
»ùÓÚLCCµÄÒ»¿îC±àÒëÆ÷£¬Óбê×¼µÄIDE½çÃ棬ÀàËÆVCµÄ½çÃ棬µ±È»ºÍDEV-C++»¹ÓÐMingW32 studio½çÃæÒ²ºÜÏñ£¬¿ÉÒÔÓÃÓÚ´´½¨Ð¡Ò»µãµÄ»ùÓÚCµÄ¹¤³Ì¡£
IDE´úÂë±à¼­½ ......
© 2009 ej38.com All Rights Reserved. ¹ØÓÚE½¡ÍøÁªÏµÎÒÃÇ | Õ¾µãµØͼ | ¸ÓICP±¸09004571ºÅ