1樓:達達達
1)。單連結串列應該知道吧,就是讓寫出函式幾個函式,實現連結串列的建立,插入結點,刪除結點,等等。。。
2)。就是把線性表倒置,表頭變成表尾,表尾變成表頭。
3)。比如從小到大的陣列1 3 4 5 7 8. 將x= 6插入其中,順序還是由小到大,就要設計乙個演算法,找到5和7之間的位置將6插入。
我也是學生,可能說不清楚*/
資料結構**題,求解釋,看不懂
2樓:網友
古老的 pascal?
函式 calc,如果 y = 1 則直接返回 x,否則返回 calc(x, y - 1) +x。
設 calc 求 f(x, y),則:
f(x, y) = x,當 y = 1 時。
f(x, y) = f(x, y - 1) +x,當 y > 1 時。
f(x, y)
f(x, y - 1) +x
f(x, y - 2) +x + x= f(x, y - 2) +2*x
f(x, y - 3) +x + 2*x= f(x, y - 3) +3*x
.= f(x, 2) +y - 2)*x= f(x, 1) +x + y - 2)*x= f(x, 1) +y - 1)*x= x + y - 1)*x
y*x函式 calc 以遞迴方式求 y*x。
一道c語言資料結構題,程式已給好,看不懂意思,求給分析。。註釋。。重賞。。。!
3樓:
你這個分不太好賺哦。真不好琢磨你**不懂,這就關係到註釋到哪種程度。能幫你理解多少算多少吧。
為了讓你方便看,我們從節點定義和主函式開始。
struct slist
typedef struct slist strec //申明節點結構型別。
void main()
max; //這是程式樣本,即所謂n個學生的成績。但這個n是有限的,靜態的,編譯的時候,#define n 8,最多就是8個。這顯然只是用於測試後面處理用的樣本。
strec *h; //申明瞭乙個節點指標。
此處需要說明一下的是,從這個**的操作來看,這個連結串列是先進先出的佇列操作模式,可以通俗的說h是這個佇列的頭。但此處**,多用記憶體儲存了乙個0,從某種意義上說,這是不必要的;
h=creat(s);
建立佇列,將陣列中的分數樣本儲存到佇列。引數為陣列首位址。
outlist(h);
展示佇列資料。
max=fun(h);
呼叫fun,返回最大的分數值。
printf("max=%",max);
按照指定寬度列印浮點數格式的結果值。
下乙個,按順序來看,建立佇列。
strec *creat( double *s) //返回佇列頭的位址(指標)。引數為指向雙精度資料變數的指標。
p->next=0; //此處對於這種用法不發表看法;意思是,最終形成的佇列「尾節點的下乙個節點不存在」,就是表示佇列生成完畢,此時p就是真正的佇列尾,後面再也沒有其它節點了。
return h; //將佇列頭位址返回。
下乙個展示佇列。
void outlist(strec *h)
while(p!=0) ;//佇列沒有列印完的話,繼續。此處用法不算標準用法。當然,原理上沒有問題。
printf("");
最後乙個。double fun( strec *h ) //在佇列中,找到最大的分數值。
while(q!=0); //佇列沒有遍歷完的話,繼續。
return max; /佇列遍歷完成,返回最大的那個數。
-天啊,我早上開啟樓主這個求助,我以為可能回答的人不會太多,由於我還在忙,途中吃了個飯,才慢慢過來寫,結果。不過我比較了下,還是我寫的要詳細些。(一樓有點暈,估計他以後自己看了都會笑自己), 最重要的是,大家能幫到你,就ok了!
4樓:
先說一下,這。
段**的整體要實現的功能,這段**主要包含三個功能:
1)strec *creat( double *s) :建立乙個指向結構體strec的連結串列;
2)void outlist(strec *h) :輸出連結串列中每乙個strec中變數s的值;
3)double fun( strec *h ) 找出連結串列中所有strec中變數s的最大值。
下面是加了註釋的**:
#include
#include
#define n 8
struct slist
*定義乙個結構體slist,裡面有個變數s,還有乙個指標next用於指向一下slist*/
typedef struct slist strec; /*用strec來表示結構體slist*/
找出連結串列中所有strec中變數s的最大值,引數為連結串列的頭*/
double fun( strec *h )
while(q!=0);/*依次取連結串列中的trec*/
return max;
*建立乙個指向結構體strec的連結串列;引數為一列s值*/
strec *creat( double *s)
p->next=0;/*最後乙個點指向0,這個可以用於判斷是否已到連結串列結尾*/
return h; /*返回連結串列的頭指標*/
*輸出連結串列中每乙個strec中變數s的值,引數為連結串列的頭指標*/
void outlist(strec *h)
while(p!=0);
printf("");
希望對你有幫助。。。仍有問題可以hi我。。。
5樓:我愛涮涮鍋
struct slist
/建立乙個結構體,包括兩個部分,第乙個部分是學生成績,第二個是指向下乙個結構體的指標。
typedef struct slist strec;//將這種結構體型別定義為strec型別。
double fun( strec *h )
while(q!=0);//當q==0時,已經查詢完畢,此時max是所有值中最大的。
return max;//將max返回。
strec *creat( double *s)
p->next=0;//已經建立好連結串列,設定最後乙個節點的next為空。
return h;
void outlist(strec *h)
while(p!=0);
迴圈輸出。printf("");
void main()
max;strec *h;
h=creat(s); //根據陣列s建立連結串列。
outlist(h);//輸出連結串列內容。
max=fun(h);//找出連結串列中的最大值。
printf("max=%",max);//將最大值輸出}
6樓:網友
do這幾行就是找出最高分。
的。。不過,這個邏輯不對啊。少了一行比較表示式。do
關於資料結構c語言二叉樹的程式,請人幫忙看看~謝謝
7樓:網友
全部完工了。
大體思想是沒問題的。
就是有很多細節要注意,寫程式的時候太粗心了。
除了層次遍歷 其他的都改好了 寫了註釋。
假設乙個樹。
應該這麼輸入 1(回車) 2(回車) 4(回車) #(回車) #(回車) 5(回車)
#(回車) #(回車) 3(回車) 6(回車) #(回車) #(回車) 7(回車) #(回車) #(回車)
#include
#include
typedef struct bitnode//這裡的名字最好和後面的新型別名bintode不一樣。
bitnode,*bitree;
你如果只是為了進行層次遍歷,不需要定義那麼多資料結構。
typedef struct liqunode*liqueue;
這裡你輸入乙個數回車一次。
void dlr(bitree &root)
return;//void不需要返回值。
void ldr(bitree &root) }
void lrd(bitree &root)
return;
int i=0;
int found_sum(bitree &root)
return i;
int j=0;
return j;
void leverordertree(bitree t ,liqueue liquque)
if(t->rchild != null)
while(liquque->rear != liquque->top) }
void initqueue(linkqueue &q)
return;
status lscan(bitree *root) }
void main()
求大神~編寫函式display對某連結串列遍歷輸出(資料結構c語言版)急求,可增加懸賞。。謝謝了。。
8樓:網友
你在函式里加個指標。。把頭指標賦給它。。然後遍歷。如果遍歷到的指標和這個指標(即遍歷回頭指標)的時候就結束。就行了吧,應該不太難。你試一下。
嚴蔚敏的資料結構c語言版看不懂求助
9樓:o路上鋼琴師
哪本書無所謂,拿起一本儘量完全看懂就可以了,推薦清華大學譚浩強的那本c語言書。
資料結構c語言版裡面有一句語句看不懂 求解答 m.data[1..m.tu] 這個..是什麼意思
10樓:風若遠去何人留
是陣列。
元素 從1開始 到結束。
也就是 從1 到一共個元素。
11樓:紅顏不求得
你這樣問我覺得沒有人能看得懂。
資料結構初學者,教科書是嚴蔚敏主編的c語言版,但是看得不太懂,許多程式都沒有詳細解釋,程式開頭一堆
12樓:網友
怎麼和我們學校一樣呀,上面說的大話資料結構值得一看,不過我認為只是在嚴版的上面加了一些引導的話,所以基本上差不多。
嚴蔚敏的 資料結構c語言版 看不懂,裡面的**公式瞪了半天也不懂,覺得這本書好難啊 本人中學生一枚
13樓:南瓜豬的的的
看不懂就對了。
這本書根本就不是給人看的。
這本書寫出來就是浪費大學生生命用的。
建議看演算法導論。
14樓:2b丶波
這本書還不算太差,只是用詞非常專業,專業到不容易理解,有人教的話還好,自學就很難受了。
15樓:暴躁頓頓
我是正在學這本書的大學生,我們專業課老師說了,很多工作很多年的人看這本書都看不懂
資料結構C語言版迷宮問題,資料結構C語言版迷宮問題
剛學都這樣,想當初我學習的時候連一個單連結串列的逆置,都要理解半天。程式設計就是把實際問題給抽象成數學或非數學模型,結合資料的表示,再找到解決的方法。別忘了,學習資料結構是為了更好的運算元據。思路 首先,迷宮如何用計算機語言表示?一般用二維陣列。0表示牆,1表示路。其次,其次就是如何從迷宮中走出來了...
怎么學好資料結構C語言版,怎麼學好資料結構C語言版
其實學資料結構不用上機,但是你要自己寫 各種結構的定義,內部操作的函式實現。另外就是理解為主,明白怎麼回事了記東西才容易,而且效率比較高。另外就是做些小的練習題,畢竟再難的題也是小問題的疊加而已,所有小問題掌握了,大的問題拆開就是小問題,所以難的問題你也就會解決了3q 自學是成為高手的唯一出路 借多...
下面的程式不能執行,錯哪了資料結構C語言版
include stdio.h include malloc.h define ok 1 define error 0 define overflow 2 define list init size 100 define listincrement 10 typedef struct sqlist ...