一道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、最后一步,若扫描到中缀表达式的末尾[即扫描结束],若堆栈中还有存留的运算符依次弹出并输出即可。



  • 鍏充簬鏁版嵁缁撴瀯鐨勯棶棰,鐢C璇█鎻忚堪
    绛旓細姣斿:姹傝〃娣卞害,澶嶅埗骞夸箟琛ㄧ瓑銆傝繖绉棰樼洰,鍙互鏍规嵁涓嶅悓瑙掑害骞夸箟琛ㄧ殑琛ㄧ幇褰㈠紡杩愮敤涓ょ涓嶅悓鐨勬柟寮瑙g瓟:涓鏄妸涓涓箍涔夎〃鐪嬩綔鏄〃澶村拰琛ㄥ熬涓ら儴鍒,鍒嗗埆瀵硅〃澶村拰琛ㄥ熬杩涜鎿嶄綔;浜屾槸鎶婁竴涓箍涔夎〃鐪嬩綔鏄嫢骞蹭釜瀛愯〃,鍒嗗埆瀵规瘡涓瓙琛ㄨ繘琛屾搷浣溿傜浜旂珷 鏍戜笌浜屽弶鏍戜粠瀵圭嚎鎬х粨鏋勭殑鐮旂┒杩囧害鍒板鏍戝舰缁撴瀯鐨勭爺绌,鏄鏁版嵁缁撴瀯璇剧▼瀛︿範...
  • 姹傚姪鏁版嵁缁撴瀯棰鐢C璇█鍋
    绛旓細1: 鍥犱负瑕佸垹闄ら偅浜涘嵆鍦˙琛ㄥ張鍦–琛ㄤ腑鐨勫厓绱狅紝鎵浠,B锛孋涓変釜琛ㄤ腑閮戒細鏈夎繖涓厓绱犮傞偅涔堢敤鎸囬拡閬嶅巻A琛紝鐢ㄥ彟澶栦袱涓寚閽堥亶鍘咮,C銆傛煡鎵綛,C涓悓A鐨勫厓绱狅紝鍥犱负3涓〃閮芥槸鏈夊簭鐨勶紝鍙互閲囩敤浜涚畝鍗曠殑姣旇緝銆傛壘鍒板悗鍒犻櫎銆2锛歷oid AE(stack &s){ int stack (s); //寰楀埌浼犻掕繃鏉ョ殑鏍 push(s,3); ...
  • c璇█鏁版嵁缁撴瀯闂姹傝В
    绛旓細A[0][0]鍜孉[2][2]鐩稿樊浜(2*n+2)涓厓绱狅紝涓嶢[3][3]鐩稿樊浜(3*n+3)涓厓绱狅紝鎵浠ワ紝676-644=32锛32/2*3=48锛644+48=692锛岄夋嫨c椤广傛弧鎰忚閲囩撼鍛
  • 涓浠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
  • 鎬ヨВ涓涓鏁版嵁缁撴瀯鐨勯(C璇█)
    绛旓細棰樼洰濡備笅:涓や釜涓鍏冨椤瑰紡鐩镐箻鐨勭畻娉昅(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^...
  • 鍏充簬鏁版嵁缁撴瀯(C璇█)鐨勫嚑涓
    绛旓細鏈澶氭瘮杈冩鏁板弬鑰冧弗钄氭晱銆鏁版嵁缁撴瀯銆嬬涔濈珷 鏌ユ壘 220椤点5.渚嬪鍥句腑杩欐5鏍戯紝鍋囪i=2锛2i=4涓嶅ぇ浜巒锛2i+1=5澶т簬n锛屾墍浠2杩欎釜缁撶偣娌℃湁鍙冲瓙鏍戙6.椤哄簭鏍堢殑绫诲瀷瀹氫箟锛歵ypedef struct{ char *base; //涔熷彲鐢‥lemType锛屽彧瑕佸畾涔変簡灏辫 char *top; int stacksize;}SqStackTp; //...
  • c璇█缂栫▼ 鏁版嵁缁撴瀯棰
    绛旓細*/#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...
  • C璇█鏁版嵁缁撴瀯鐨勯棶棰
    绛旓細杩欎釜鍑芥暟搴旇鏄敤鏉ヨ繑鍥為摼琛ㄤ腑绗琲涓妭鐐圭殑鎸囬拡鐨勩傝妭鐐圭紪鍙蜂粠0寮濮嬨傚綋i = 0鏃讹紝for寰幆鍦ㄦ墽琛屾椂锛宩 棣栧厛琚祴鍊间负0锛屾鏌ユ潯浠秊 < i-1鏉′欢涓嶆垚绔嬶紝鐩存帴璺冲嚭寰幆銆傛鏃秔鐨勫兼病鏈変慨鏀癸紝灏辨槸绗竴涓妭鐐圭殑鍊硷紝骞剁洿鎺ヨ繑鍥炪傛弧瓒崇▼搴忚姹傘傝繖绉嶄唬鐮侊紝鍙互鑷繁鍦ㄧ焊涓婃ā鎷熶竴涓嬶紝涔熷彲浠ュ紕鏄庣櫧鐨勩傚笇鏈涘彲浠...
  • 鏁版嵁缁撴瀯c璇█鐗堥棶棰
    绛旓細鎸夊垪涓轰富搴忓瓨鏀句簬涓涓繛缁殑瀛樺偍绌洪棿涓 a[10,20]涓鍒10涓厓绱狅紝閭d箞a[6,2]锛2琛ㄧず绗笁鍒楋紙鍓嶉潰鏈0,1锛夛紝鍓嶉潰涓ゅ垪灏辨槸20 绗笁鍒6涓紝寰楀埌20+6=26锛屽紑濮嬪湴鍧涓200,鍒200+26=226
  • 扩展阅读:免费答题扫一扫 ... 安全试题扫一扫出答案 ... 答题神器一扫就出答案 ... 扫一扫一秒出答案 ... 扫一扫题目出答案 ... 搜题拍照秒出答案 ... 2024年保密观25道题 ... 保密观app全部答案2024 ... 免费拍照答题一秒出答案 ...

    本站交流只代表网友个人观点,与本站立场无关
    欢迎反馈与建议,请联系电邮
    2024© 车视网