c的資料結構問題(棧),資料結構有關棧的問題

時間 2021-08-15 23:10:24

1樓:亮_靜

#define stack_init_size 100 //c語言中定義乙個常量。stack_init_size =100

#define stackincrement 10 //c語言中定義乙個常量。stackincrement =10

#include

#include //包含兩個標頭檔案。stdio.h和stdlib.h

typedef struct //定義乙個資料結構 裡面包含三個變數,兩個整型的指標,和乙個整型的變數

sqstack;

int initstack(sqstack s) //初始化棧的函式

2樓:

#define stack_init_size 100 // 定義這棧有100個空間

#define stackincrement 10#include

#include

typedef struct //定義乙個叫做sqstack的結構體

sqstack;

int initstack(sqstack s) //初始化棧,用結構體sqstack 建立了乙個叫s的東西,以後s就可以叫乙個棧了~

資料結構有關棧的問題

3樓:失落de風景

首先要明白棧的特點是先進後出,也就是說出棧的順序和進棧的順序正好相反,第乙個進,只能最後乙個出。上面的題只是考你棧的這個特點。要說規律,即先看第乙個出棧元素,判斷它之前元素的進棧情況。

比如a選項,先出的是c元素,說明它是最後乙個進的,以因為題目要求a,b,c依次進入乙個棧表中,說明,b和a元素都在棧內,a比b先進,所以a最後乙個出,即cba順序可以

b選項:同樣先出的是c,但看第二個出的是a元素,b在它之後才出棧,不符棧的先進後出原則,所以b選錯。c選項,先出b元素,後出a元素,最後出的是c元素。

題中只說abc是依次進入棧而不是同時三個一起進棧,所以ab先進棧,ba出棧,c進棧,出棧。順序可以是bac.同樣,對於d選項,a進棧,出棧。

b進棧,出棧。c進棧,出棧.abc順序也可以

4樓:ireally不知道

這個題選b。

先進後出。。首先,a,b,c三個依次入棧,a進棧b進棧c進棧,然後出棧順序cba所以a可以;a進棧b進棧然後b出棧a出棧然後c進棧c出棧,出棧順序是bac,所以c可以;a進棧a出棧b進棧b出棧c進棧c出棧,所以出戰順序是abc,所以d可以。 總之先進後出

5樓:溫珈藍音

選b因為要出c 必須把abc都裝入..然後出c

所以第2個必然出b

c語言資料結構中鏈棧的問題

6樓:充實生活

這個鏈棧應該bai就是乙個du

用鍊表弄的後進先出的

zhi棧結構dao。top指標永遠指向棧的最上面的回那個節點。

這個函式是新加乙個節點到這個棧中,首先分配了空間給s,s是要新加入這個棧的那個節點。

s->next=top;就是讓s指向棧的最上面的那個元素。top=s;因為現在最上面的節點是s了,所以讓top指向s,使s成為棧頂指標。返回的就是棧的頂上那個節點的指標。

這答樣迴圈呼叫這個函式就可以不斷的新增新節點,加入的新節點總是指向前面的那個節點,同時新加入的節點成為頭節點。

7樓:匿名使用者

linkstack push_linkstack(linkstack top, datatype x)

資料結構的問題 C,資料結構C 問題

include iostream.h include stdlib.h include stdio.h class lnode lnode lnode creatlist int n 建立鍊表 return h 返回你建立的鏈頭指標 鏈結到main中的附加頭結點上面 void lnode print...

c語言裡資料結構的問題,c語言裡資料結構的一個問題。。

1 typedef struct list 這裡的list只是一個起的名字,如int是整形,list 是這個結構體的型別。下面的list就是 int i list就是那個i 2 定義的時候沒有下一個節點,一般都是用 p next null 3 書上一般給的都是偽 在實際寫程式中 自己要結合起來才能執...

資料結構快速排序問題,C語言資料結構 快速排序的問題 5

由於你傳遞的l是值傳遞,在快速排序內部出現了一個名字一樣的區域性變數,只是區域性變數被排序了,並不是傳入的變數被排序,可以採用傳地址的方式解決,或者不定義形參,直接採用全域性變數。我使用前者幫你實現了 再者,快速排序 有點問題,幫你修改了下 include include define maxsiz...