一道c语言数据结构题,求解答! 一道C语言数据结构题,程序已给好,看不懂意思,求给分析。。注...
C\u8bed\u8a00\u4e00\u9053\u6570\u636e\u7ed3\u6784\u7b97\u6cd5\u9898\uff0c\u6c42\u5927\u795e\u89e3\u7b54\uff0c\u6c42\u4e8c\u53c9\u6811\u7684\u7ed3\u70b9\u6570\u91cf\uff01#include using namespace std; int deg[233],tot[3],n,m; int main(){ scanf("%d",&n); for (int i=1;i<n;i++){ int t1,t2; scanf("%d%d",&t1,&t2); deg[t1]++;deg[t2]++;}for (int i=1;i<=n;i++) tot[deg[i]]++;printf("%d %d %d\n",tot[0],tot[1],tot[2]); }
\u4f60\u8fd9\u4e2a\u5206\u4e0d\u592a\u597d\u8d5a\u54e6...\u771f\u4e0d\u597d\u7422\u78e8\u4f60\u54ea\u91cc\u4e0d\u61c2,\u8fd9\u5c31\u5173\u7cfb\u5230\u6ce8\u91ca\u5230\u54ea\u79cd\u7a0b\u5ea6.\u80fd\u5e2e\u4f60\u7406\u89e3\u591a\u5c11\u7b97\u591a\u5c11\u5427.
\u4e3a\u4e86\u8ba9\u4f60\u65b9\u4fbf\u770b,\u6211\u4eec\u4ece\u8282\u70b9\u5b9a\u4e49\u548c\u4e3b\u51fd\u6570\u5f00\u59cb.
------------------------------------------------
struct slist
{
double s; //\u7528\u4e8e\u5b58\u50a8\u5206\u6570\u7684\u53d8\u91cf
struct slist *next; //\u6307\u5411\u4e0b\u4e00\u4e2a\u8282\u70b9\u7684\u6307\u9488
};
typedef struct slist STREC //\u7533\u660e\u8282\u70b9\u7ed3\u6784\u7c7b\u578b
void main()
{
double s[N]={85,76,69,85,91,72,64,87}, max; //\u8fd9\u662f\u7a0b\u5e8f\u6837\u672c,\u5373\u6240\u8c13N\u4e2a\u5b66\u751f\u7684\u6210\u7ee9.\u4f46\u8fd9\u4e2aN\u662f\u6709\u9650\u7684,\u9759\u6001\u7684,\u7f16\u8bd1\u7684\u65f6\u5019,#define N 8,\u6700\u591a\u5c31\u662f8\u4e2a.\u8fd9\u663e\u7136\u53ea\u662f\u7528\u4e8e\u6d4b\u8bd5\u540e\u9762\u5904\u7406\u7528\u7684\u6837\u672c.
STREC *h; //\u7533\u660e\u4e86\u4e00\u4e2a\u8282\u70b9\u6307\u9488\u3002
\u6b64\u5904\u9700\u8981\u8bf4\u660e\u4e00\u4e0b\u7684\u662f\uff0c\u4ece\u8fd9\u4e2a\u4ee3\u7801\u7684\u64cd\u4f5c\u6765\u770b\uff0c\u8fd9\u4e2a\u94fe\u8868\u662f\u5148\u8fdb\u5148\u51fa\u7684\u961f\u5217\u64cd\u4f5c\u6a21\u5f0f\uff0c\u53ef\u4ee5\u901a\u4fd7\u7684\u8bf4h\u662f\u8fd9\u4e2a\u961f\u5217\u7684\u5934\u3002\u4f46\u6b64\u5904\u4ee3\u7801\uff0c\u591a\u7528\u5185\u5b58\u5b58\u50a8\u4e86\u4e00\u4e2a0\uff0c\u4ece\u67d0\u79cd\u610f\u4e49\u4e0a\u8bf4\uff0c\u8fd9\u662f\u4e0d\u5fc5\u8981\u7684\uff1b
h=creat(s);
//\u5efa\u7acb\u961f\u5217\uff0c\u5c06\u6570\u7ec4\u4e2d\u7684\u5206\u6570\u6837\u672c\u5b58\u50a8\u5230\u961f\u5217\u3002\u53c2\u6570\u4e3a\u6570\u7ec4\u9996\u5730\u5740\u3002
outlist(h);
//\u5c55\u793a\u961f\u5217\u6570\u636e\u3002
max=fun(h);
//\u8c03\u7528fun\uff0c\u8fd4\u56de\u6700\u5927\u7684\u5206\u6570\u503c\u3002
printf("max=%6.1f\n",max);
//\u6309\u7167\u6307\u5b9a\u5bbd\u5ea6\u6253\u5370\u6d6e\u70b9\u6570\u683c\u5f0f\u7684\u7ed3\u679c\u503c\u3002
}
--------------------------------------------------------------
\u4e0b\u4e00\u4e2a\uff0c\u6309\u987a\u5e8f\u6765\u770b\uff0c\u5efa\u7acb\u961f\u5217\u3002
STREC *creat( double *s) //\u8fd4\u56de\u961f\u5217\u5934\u7684\u5730\u5740\uff08\u6307\u9488\uff09\u3002\u53c2\u6570\u4e3a\u6307\u5411\u53cc\u7cbe\u5ea6\u6570\u636e\u53d8\u91cf\u7684\u6307\u9488\u3002
{
STREC *h,*p,*q; //\u6b64\u5904\u8bf4\u660e\uff1ah\u5b58\u653e\u961f\u5217\u5934\u5730\u5740\uff0cp\u5b58\u653e\u5f53\u524d\u8bbf\u95ee\u961f\u5217\u8282\u70b9\u5730\u5740\uff08\u5df2\u7ecf\u8fdb\u5165\u961f\u5217\uff0c\u6216\u8005\u8bf4\u5f53\u524d\u961f\u5217\u5c3e\u8282\u70b9\u5730\u5740\uff09\uff0cq\u5b58\u653e\u65b0\u589e\u8282\u70b9\u7684\u5730\u5740\uff08\u8fd8\u6ca1\u6709\u8fdb\u5165\u961f\u5217\uff09\uff1b
int i=0; //\u521d\u59cb\u5316\u5faa\u73af\u589e\u91cf
h=p=(STREC*)malloc(sizeof(STREC)); //\u4e3a\u961f\u5217\u5934\u5206\u914d\u7a7a\u95f4\uff0c\u5e76\u7528\u6307\u9488\u53d8\u91cf\u8bb0\u5f55\u961f\u5217\u5934\u5730\u5740\u3002\u53ef\u4ee5\u8ba4\u4e3a\uff0c\u5f53\u524d\u53ea\u6709\u4e00\u4e2a\u8282\u70b9\uff0c\u65e2\u662f\u5934\uff0c\u4e5f\u662f\u5c3e\uff1b
p->s=0; //\u961f\u5217\u5934\u8282\u70b9\u4e2d\u5206\u6570\u53d8\u91cf\u8d4b\u503c\u4e3a0\u3002\u8fd9\u662f\u53ef\u4ee5\u4e0d\u8fd9\u6837\u505a\u7684\u3002
while(i<N) //\u4ece\u7b2c0\u4e2a\u6570\u636e\u5f00\u59cb\u5b58\u50a8\uff0c\u4e00\u76f4\u5230\u7b2cN-1\u4e2a\u6570\u636e\uff0c\u5171\u8ba1\u5b58\u50a8N\u4e2a\u6570\u636e\uff0c\u5c06\u6570\u636e\u5b58\u50a8\u5b8c\u6210\u540e\u9000\u51fa\u5faa\u73af
{
q=(STREC*)malloc(sizeof(STREC)); //\u4e3a\u65b0\u8282\u70b9\u6570\u636e\u5206\u914d\u7a7a\u95f4\uff0c\u9996\u5730\u5740\u4fdd\u5b58\u5728q\u4e2d
q->s=s[i]; //\u5c06\u6570\u7ec4\u4e2d\u7b2ci\u4e2a\u5bf9\u5e94\u5206\u6570\u6570\u636e\u5b58\u5165\u65b0\u8282\u70b9\u5bf9\u5e94\u4f4d\u7f6e\u3002
i++; //\u5faa\u73af\u53d8\u91cf\u81ea\u589e1
p->next=q; //\u5c06\u65b0\u8282\u70b9\u94fe\u63a5\u5230\u961f\u5217\u5c3e\u3002\u6216\u8005\u8bf4\uff0c\u5f53\u524d\u961f\u5217\u5c3e\u7684\u4e0b\u4e00\u4e2a\u8282\u70b9\u662f\u4e0a\u9762\u6784\u9020\u7684\u90a3\u4e2a\u8282\u70b9\uff1b
p=q;///\u91cd\u65b0\u8bb0\u5f55\u6216\u8005\u8bf4\u66f4\u65b0\u961f\u5217\u5c3e
}
p->next=0; //\u6b64\u5904\u5bf9\u4e8e\u8fd9\u79cd\u7528\u6cd5\u4e0d\u53d1\u8868\u770b\u6cd5\uff1b\u610f\u601d\u662f\uff0c\u6700\u7ec8\u5f62\u6210\u7684\u961f\u5217\u201c\u5c3e\u8282\u70b9\u7684\u4e0b\u4e00\u4e2a\u8282\u70b9\u4e0d\u5b58\u5728\u201d\uff0c\u5c31\u662f\u8868\u793a\u961f\u5217\u751f\u6210\u5b8c\u6bd5\uff0c\u6b64\u65f6p\u5c31\u662f\u771f\u6b63\u7684\u961f\u5217\u5c3e\uff0c\u540e\u9762\u518d\u4e5f\u6ca1\u6709\u5176\u5b83\u8282\u70b9\u4e86\u3002
return h; //\u5c06\u961f\u5217\u5934\u5730\u5740\u8fd4\u56de
}
----------------------------------------------
\u4e0b\u4e00\u4e2a\u5c55\u793a\u961f\u5217
void outlist(STREC *h)
{
STREC *p; //\u7533\u660e\u5b58\u653e\u8282\u70b9\u5730\u5740\u7684\u6307\u9488\u6807\u91cf
p=h->next; //\u53d6\u5f97\u961f\u5217\u4e2d\u7b2c\u4e8c\u4e2a\u8282\u70b9\u7684\u5730\u5740\u3002\u56e0\u4e3a\u5728\u6784\u9020\u65f6\uff0c\u7b2c\u4e00\u4e2a\u8282\u70b9\u4e2d\u7684\u5206\u6570\u6570\u636e\u662f0\uff0c\u6240\u4ee5\uff0c\u4ece\u7b2c\u4e8c\u4e2a\u5f00\u59cb\u6253\u5370\u3002
printf("head"); //\u5f00\u59cb\u505a\u6253\u5370\u63d0\u793a
do
{
printf("->%2.0f",p->s); //\u6309\u7167\u5b9a\u5236\u683c\u5f0f\u6253\u5370\u5f53\u524d\u8282\u70b9\u4e2d\u7684\u5206\u6570\u503c
p=p->next; //\u53d6\u5f97\u4e0b\u4e2a\u8282\u70b9\u7684\u5730\u5740
}
while(p!=0) ; //\u961f\u5217\u6ca1\u6709\u6253\u5370\u5b8c\u7684\u8bdd\uff0c\u7ee7\u7eed\u3002\u6b64\u5904\u7528\u6cd5\u4e0d\u7b97\u6807\u51c6\u7528\u6cd5\u3002\u5f53\u7136\uff0c\u539f\u7406\u4e0a\u6ca1\u6709\u95ee\u9898\u3002
printf("\n\n");
}
-------------------------------------------------------------------------------------
\u6700\u540e\u4e00\u4e2a
double fun( STREC *h ) //\u5728\u961f\u5217\u4e2d\uff0c\u627e\u5230\u6700\u5927\u7684\u5206\u6570\u503c
{
double max; //\u7533\u660e\u5b58\u653e\u6700\u5927\u5206\u6570\u6570\u636e\u7684\u53d8\u91cf
STREC *q=h; //\u7533\u660e\u6307\u5411\u961f\u5217\u7684\u6307\u9488\u53d8\u91cf
max=h->s; //\u7528\u961f\u5217\u5934\u4e2d\u7684\u6570\u636e\u521d\u59cb\u5316\u6700\u5927\u5206\u6570\u503c\u3002\u5373\uff1amax=0\uff1b
do
{
if(q->s>max) //\u7528\u961f\u5217\u4e2d\u7684\u5f53\u524d\u8282\u70b9\uff08\u5176\u5b9e\u662f\u6bcf\u4e00\u4e2a\u8282\u70b9\uff09\u4e2d\u7684\u6570\u636e\u4e0e\u5f53\u524dMAX\uff08\u76ee\u524d\u9009\u51fa\u7684\u6700\u5927\u6570\uff09\u505a\u6bd4\u8f83\u3002\u5305\u62ec\u961f\u5217\u5934\u91cd\u7684\u90a3\u4e2a'0\u2018\uff0c\u5373\u7b2c\u4e00\u6b21\u6bd4\u5bf9\u7684\u65f6\u5019\uff0c\u662fif(0>0).
max=q->s; //\u603b\u662f\u5b58\u653e\u6bd4\u8f83\u5927\u7684\u90a3\u4e2a\u6570
q=q->next; //\u53d6\u961f\u5217\u4e2d\u4e0b\u4e00\u4e2a\u8282\u70b9
}
while(q!=0); //\u961f\u5217\u6ca1\u6709\u904d\u5386\u5b8c\u7684\u8bdd\uff0c\u7ee7\u7eed
return max; /\u961f\u5217\u904d\u5386\u5b8c\u6210\uff0c\u8fd4\u56de\u6700\u5927\u7684\u90a3\u4e2a\u6570
}
--------------------
\u5e0c\u671b\u80fd\u591f\u5e2e\u5230\u4f60\uff01
---
\u5929\u554a\uff0c\u6211\u65e9\u4e0a\u6253\u5f00\u697c\u4e3b\u8fd9\u4e2a\u6c42\u52a9\uff0c\u6211\u4ee5\u4e3a\u53ef\u80fd\u56de\u7b54\u7684\u4eba\u4e0d\u4f1a\u592a\u591a\uff0c\u7531\u4e8e\u6211\u8fd8\u5728\u5fd9\uff0c\u9014\u4e2d\u5403\u4e86\u4e2a\u996d\uff0c\u624d\u6162\u6162\u8fc7\u6765\u5199\uff0c\u7ed3\u679c...\u4e0d\u8fc7\u6211\u6bd4\u8f83\u4e86\u4e0b\uff0c\u8fd8\u662f\u6211\u5199\u7684\u8981\u8be6\u7ec6\u4e9b\u3002\uff08\u4e00\u697c\u6709\u70b9\u6655\uff0c\u4f30\u8ba1\u4ed6\u4ee5\u540e\u81ea\u5df1\u770b\u4e86\u90fd\u4f1a\u7b11\u81ea\u5df1\uff09\uff0c \u6700\u91cd\u8981\u7684\u662f\uff0c\u5927\u5bb6\u80fd\u5e2e\u5230\u4f60\uff0c\u5c31OK\u4e86\uff01
1、任何中缀表达式都由运算数,运算符,括号(大,中,小),这三部分组成。
2、从中缀表达式的左边开始扫描(脑中自己想像的),若遇到运算数时,则直接将其输出(不压入堆栈)。
3、若遇到左括号,则将其压栈。
4、若遇到右括号,表达括号内的中缀表达式已经扫描完毕。这时需将栈顶的运算符依次弹出并输出,直至遇到左括号[左括号弹出但不输出]。
5、若遇到的是运算符:( ( * > / ) > ( + > - ) )
a、如果该运算符的优先级大于栈顶运算符的优先级时,将其压栈
b、如果该运算符的优先级小于栈顶运算符的优先级时,将栈顶运算符弹出并输出,接着和新的栈顶运算 符比较,若大于,则将其压栈,若小于,继续将栈顶运算符弹出并输出......(一直递归下去,直至运算符大于栈顶云算符为止)。
6、最后一步,若扫描到中缀表达式的末尾[即扫描结束],若堆栈中还有存留的运算符依次弹出并输出即可。
绛旓細姣斿:姹傝〃娣卞害,澶嶅埗骞夸箟琛ㄧ瓑銆傝繖绉棰樼洰,鍙互鏍规嵁涓嶅悓瑙掑害骞夸箟琛ㄧ殑琛ㄧ幇褰㈠紡杩愮敤涓ょ涓嶅悓鐨勬柟寮瑙g瓟:涓鏄妸涓涓箍涔夎〃鐪嬩綔鏄〃澶村拰琛ㄥ熬涓ら儴鍒,鍒嗗埆瀵硅〃澶村拰琛ㄥ熬杩涜鎿嶄綔;浜屾槸鎶婁竴涓箍涔夎〃鐪嬩綔鏄嫢骞蹭釜瀛愯〃,鍒嗗埆瀵规瘡涓瓙琛ㄨ繘琛屾搷浣溿傜浜旂珷 鏍戜笌浜屽弶鏍戜粠瀵圭嚎鎬х粨鏋勭殑鐮旂┒杩囧害鍒板鏍戝舰缁撴瀯鐨勭爺绌,鏄鏁版嵁缁撴瀯璇剧▼瀛︿範...
绛旓細1: 鍥犱负瑕佸垹闄ら偅浜涘嵆鍦˙琛ㄥ張鍦–琛ㄤ腑鐨勫厓绱狅紝鎵浠,B锛孋涓変釜琛ㄤ腑閮戒細鏈夎繖涓厓绱犮傞偅涔堢敤鎸囬拡閬嶅巻A琛紝鐢ㄥ彟澶栦袱涓寚閽堥亶鍘咮,C銆傛煡鎵綛,C涓悓A鐨勫厓绱狅紝鍥犱负3涓〃閮芥槸鏈夊簭鐨勶紝鍙互閲囩敤浜涚畝鍗曠殑姣旇緝銆傛壘鍒板悗鍒犻櫎銆2锛歷oid AE(stack &s){ int stack (s); //寰楀埌浼犻掕繃鏉ョ殑鏍 push(s,3); ...
绛旓細A[0][0]鍜孉[2][2]鐩稿樊浜(2*n+2)涓厓绱狅紝涓嶢[3][3]鐩稿樊浜(3*n+3)涓厓绱狅紝鎵浠ワ紝676-644=32锛32/2*3=48锛644+48=692锛岄夋嫨c椤广傛弧鎰忚閲囩撼鍛
绛旓細绗竴棰橈紱Search (BiTree t,ElemType x){ struct nodee;{BiTree pp;int tag;}s[100];int top; Bitree p;top=0; p=t;while(p!=NULL&&p->p!=NULL){while(p!=NULL&&p->data!=x){top++;s[top].pp=p;s[top].tag=0;p=p->lchild;} if(p!=NULL&&p->data==x){for(i=1...
绛旓細杩欎釜鏄绠梟瓒嬩簬鏃犵┓澶ф椂鐨勯樁娆★紝鍥犳闃舵浠庝綆鍒伴珮鐨勬搴忎负锛31+1/n , 100n + nlog2(n), 20log2(2^n) + n^2, 2^n + 89n^3
绛旓細棰樼洰濡備笅:涓や釜涓鍏冨椤瑰紡鐩镐箻鐨勭畻娉昅(x)=A(x)*B(x)=A(x)*[b1X^e1+b2X^e2+...+bnX^en]涔熷氨鏄疉(x)鍜孊(x)閮戒釜鏄竴涓竴鍏冨椤瑰紡銆備緥濡:M(x)=A(x)*B(x)=(2x^2+3x^3+4x^4)*(5x^2+6x^3+7... 棰樼洰濡備笅: 涓や釜涓鍏冨椤瑰紡鐩镐箻鐨勭畻娉 M(x)=A(x)*B(x) =A(x)*[b1X^e1+b2X^...
绛旓細鏈澶氭瘮杈冩鏁板弬鑰冧弗钄氭晱銆鏁版嵁缁撴瀯銆嬬涔濈珷 鏌ユ壘 220椤点5.渚嬪鍥句腑杩欐5鏍戯紝鍋囪i=2锛2i=4涓嶅ぇ浜巒锛2i+1=5澶т簬n锛屾墍浠2杩欎釜缁撶偣娌℃湁鍙冲瓙鏍戙6.椤哄簭鏍堢殑绫诲瀷瀹氫箟锛歵ypedef struct{ char *base; //涔熷彲鐢‥lemType锛屽彧瑕佸畾涔変簡灏辫 char *top; int stacksize;}SqStackTp; //...
绛旓細*/#include <stdio.h>#include <malloc.h>#include <stdlib.h>typedef struct node{ int a; struct node *next;} NODE;// 鍒涘缓椤哄簭閾捐〃锛岄暱搴istSize锛屽苟鍒濆鍖朜ODE *createlist(NODE *head, int listSize, int arr[]);// 鎻掑叆涓涓妭鐐筰nt insertnode(NODE *head, int index, int...
绛旓細杩欎釜鍑芥暟搴旇鏄敤鏉ヨ繑鍥為摼琛ㄤ腑绗琲涓妭鐐圭殑鎸囬拡鐨勩傝妭鐐圭紪鍙蜂粠0寮濮嬨傚綋i = 0鏃讹紝for寰幆鍦ㄦ墽琛屾椂锛宩 棣栧厛琚祴鍊间负0锛屾鏌ユ潯浠秊 < i-1鏉′欢涓嶆垚绔嬶紝鐩存帴璺冲嚭寰幆銆傛鏃秔鐨勫兼病鏈変慨鏀癸紝灏辨槸绗竴涓妭鐐圭殑鍊硷紝骞剁洿鎺ヨ繑鍥炪傛弧瓒崇▼搴忚姹傘傝繖绉嶄唬鐮侊紝鍙互鑷繁鍦ㄧ焊涓婃ā鎷熶竴涓嬶紝涔熷彲浠ュ紕鏄庣櫧鐨勩傚笇鏈涘彲浠...
绛旓細鎸夊垪涓轰富搴忓瓨鏀句簬涓涓繛缁殑瀛樺偍绌洪棿涓 a[10,20]涓鍒10涓厓绱狅紝閭d箞a[6,2]锛2琛ㄧず绗笁鍒楋紙鍓嶉潰鏈0,1锛夛紝鍓嶉潰涓ゅ垪灏辨槸20 绗笁鍒6涓紝寰楀埌20+6=26锛屽紑濮嬪湴鍧涓200,鍒200+26=226