void Translation£¨float *matrix£¬int n£©
//±¾Ëã·¨¶Ôn¡ÁnµÄ¾ØÕómatrix£¬Í¨¹ýÐб任£¬Ê¹Æä¸÷ÐÐÔªËØµÄƽ¾ùÖµ°´µÝÔöÅÅÁС£ {int i,j,k,l£»
float sum£¬min£» //sumÔÝ´æ¸÷ÐÐÔªËØÖ®ºÍ float *p, *pi, *pk; for(i=0; i {sum=0.0; pk=matrix+i*n; //pkÖ¸Ïò¾ØÕó¸÷ÐеÚ1¸öÔªËØ. for (j=0; j for(i=0; i for(j=i+1;j {sum=*(pk+j); *(pk+j)=*(pi+j); *(pi+j)=sum;} sum=p[i]; p[i]=p[k]; p[k]=sum; //½»»»Ò»Î¬Êý×éÖÐÔªËØÖ®ºÍ. }//if }//for i free(p); //ÊÍ·ÅpÊý×é. }// Translation [Ëã·¨·ÖÎö] Ëã·¨ÖÐʹÓÃÑ¡Ôñ·¨ÅÅÐò,±È½Ï´ÎÊý½Ï¶à,µ«Êý¾Ý½»»»(ÒÆ¶¯)½ÏÉÙ.ÈôÓÃÆäËüÅÅÐò·½·¨,Ëä¿É¼õÉٱȽϴÎÊý,µ«Êý¾ÝÒÆ¶¯»áÔö¶à.Ë㷨ʱ¼ä¸´ÔÓ¶ÈΪO(n2). 10¡¢¸ù¾Ý¶þ²æÅÅÐòÊ÷ÖÐÐò±éÀúËùµÃ½áµãֵΪÔöÐòµÄÐÔÖÊ£¬ÔÚ±éÀúÖн«µ±Ç°±éÀú½áµãÓëÆäǰÇý½áµãÖµ±È½Ï£¬¼´¿ÉµÃ³ö½áÂÛ£¬Îª´ËÉèÈ«¾ÖÖ¸Õë±äÁ¿pre£¨³õֵΪnull£©ºÍÈ«¾Ö±äÁ¿flag£¬³õֵΪtrue¡£Èô·Ç¶þ²æÅÅÐòÊ÷£¬ÔòÖÃflagΪfalse¡£ #define true 1 #define false 0 typedef struct node {datatype data; struct node *llink,*rlink;} *BTree; void JudgeBST£¨BTree t,int flag£© // Åж϶þ²æÊ÷ÊÇ·ñÊǶþ²æÅÅÐòÊ÷£¬±¾Ëã·¨½áÊøºó£¬ÔÚµ÷ÓóÌÐòÖÐÓÉflagµÃ³ö½áÂÛ¡£ { if£¨t!=null && flag£© { Judgebst£¨t->llink,flag£©£»// ÖÐÐò±éÀú×ó×ÓÊ÷ if£¨pre==null£©pre=t£»// ÖÐÐò±éÀúµÄµÚÒ»¸ö½áµã²»±ØÅÐ¶Ï else if£¨pre->data 11¡¢¼ÙÉèÒÔÁÚ½Ó¾ØÕó×÷ΪͼµÄ´æ´¢½á¹¹£¬±àдËã·¨ÅбðÔÚ¸ø¶¨µÄÓÐÏòͼÖÐÊÇ·ñ´æÔÚÒ»¸ö¼òµ¥ÓÐÏò»ØÂ·£¬Èô´æÔÚ£¬ÔòÒÔ¶¥µãÐòÁеķ½Ê½Êä³ö¸Ã»ØÂ·£¨ÕÒµ½Ò»Ìõ¼´¿É£©¡££¨×¢£ºÍ¼Öв»´æÔÚ¶¥µãµ½×Ô¼ºµÄ»¡£© ÓÐÏòͼÅжϻØÂ·Òª±ÈÎÞÏòͼ¸´ÔÓ¡£ÀûÓÃÉî¶ÈÓÅÏȱéÀú£¬½«¶¥µã·Ö³ÉÈýÀࣺδ·ÃÎÊ£»ÒÑ·ÃÎʵ«ÆäÁÚ½Óµãδ·ÃÎÊÍê;ÒÑ·ÃÎÊÇÒÆäÁÚ½ÓµãÒÑ·ÃÎÊÍê¡£ÏÂÃæÓÃ0£¬1£¬2±íʾÕâÈýÖÖ״̬¡£Ç°ÃæÒÑÌáµ½£¬Èôdfs£¨v£©½áÊøÇ°³öÏÖ¶¥µãuµ½vµÄ»Ø±ß£¬ÔòͼÖбØÓаüº¬¶¥µãvºÍuµÄ»ØÂ·¡£¶ÔÓ¦³ÌÐòÖÐvµÄ״̬Ϊ1£¬¶øuÊÇÕý·ÃÎʵĶ¥µã£¬ÈôÎÒÃÇÕÒ³öuµÄÏÂÒ»ÁÚ½ÓµãµÄ״̬Ϊ1£¬¾Í¿ÉÒÔÊä³ö»ØÂ·ÁË¡£ void Print(int v,int start ) //Êä³ö´Ó¶¥µãstart¿ªÊ¼µÄ»ØÂ·¡£ {for(i=1;i<=n;i++) if(g[v][i]!=0 && visited[i]==1 ) //Èô´æÔڱߣ¨v,i£©£¬ÇÒ¶¥µãiµÄ״̬Ϊ1¡£ {printf(¡°%d¡±,v); if(i==start) printf(¡°\\n¡±); else Print(i,start);break;}//if }//Print void dfs(int v) {visited[v]=1; for(j=1;j<=n;j++ ) if (g[v][j]!=0) //´æÔÚ±ß(v,j) if (visited[j]!=1) {if (!visited[j]) dfs(j); }//if else {cycle=1; Print(j,j);} visited[v]=2; }//dfs void find_cycle() //ÅжÏÊÇ·ñÓлØÂ·£¬ÓÐÔòÊä³öÁÚ½Ó¾ØÕó¡£visitedÊý×éΪȫ¾Ö±äÁ¿¡£ {for (i=1;i<=n;i++) visited[i]=0; for (i=1;i<=n;i++ ) if (!visited[i]) dfs(i); }//find_cycle