設計演算法,入棧和出棧的操作。具體實現要求 1寫出棧的入棧和出棧演算法。2寫程式,將輸入的十進

2021-09-02 20:53:20 字數 2200 閱讀 2971

1樓:匿名使用者

樓主 ,這是我用連結串列結構實現的棧,以下是演算法,順序表部分沒寫,最近沒什麼時間,不好意思啦。。

#include

#include//包括malloc()和realloc()函式的標頭檔案

#include//包括pow()函式的標頭檔案

#define max_stack_size 20

#define addersize 10

typedef char elemtype;

typedef structsqstack;

void initstack (sqstack *s)

void pushstack(sqstack *s,elemtype e)

*(s->top)=e;

s->top++;

}void popstack(sqstack *s,elemtype *e)

void clearstack(sqstack *s) //清空棧

void destroystack(sqstack *s)

s->base=null;

s->top=s->base;

s->stacksize=0;

}int counterstack(sqstack s)

void main()

getchar();

length=counterstack(p); //有錯時更容易檢測到。。

printf("numbers'length:%d\n",length);

for(i=0;i

//二進位制pow(8,i)改為pow(2,i),十六進位制用if else如/**/中所示

}/* if('0'

else if('a'

else if('a'

printf("the answer is:%d\n",sum);}

2樓:匿名使用者

不好好學習......

設計演算法,在順序表上實現建立棧、入棧和出棧操作,將字元abcdef依次入棧,並出棧輸出。

3樓:匿名使用者

恍然看見是設計演算法,我都已經幫你把程式都寫好了,演算法這個東西,怎麼說呢,棧是一種抽象資料型別,具有先進後出的特性,順序表說白了就是一個陣列而已,所以棧首先要有個順序表,還有一個基指標,每次壓棧的時候,先讓基指標加一,再讓順序表中該位置為該元素,出棧的時候就是返回該順序表中當前基指標位置處的元素,然後讓基指標減一,建立棧就是開闢一段記憶體單元並初始化基指標。我寫的**如下:

// file :stack.h

#ifndef _stack_h_

#define _stack_h_

#define max_length 128typedef struct seqlistseqlist;

typedef struct stack

stack;

void makestack(stack *stack);

void disposestack(stack *stack);

char pop(stack *stack);

void push(stack *stack,char element);

#endif

// file: stack.cpp

#include "stack.h"

#include

void makestack(stack *stack)void disposestack(stack *stack)char pop(stack *stack)

定義棧的順序儲存結構,實現入棧操作,出棧操作,判斷棧為空的基本操作,設計演算法,

4樓:

下面是一個棧的演算法

#include

#include

typedef struct nodenode;

void push(node** ptop, int idata)else

}void pop(node** ptop)else

}void print_stack(node* ptop)}int main()

print_stack(ptop);

for (ii=1; ii<10; ii++)return 0;}

C語言的壓棧和入棧出棧什麼意思啊誰有什麼好方法理解一

棧的特點是先進後出。你把棧當成一個水桶,把書一本本放進去,然後最先放的書就被壓在最下面,所以最先進去的,最後出來。壓棧就是入棧就是把書放進水桶,出棧就是把書拿出來。壓棧 和 出棧 是什麼意思啊 可以理解成機槍的彈夾,彈夾就是一個棧,子彈一顆一顆壓進去,就是壓棧,有個順序特點就是先進後出,後進先出,出...

程序設計中,堆和棧比較重要。棧訪問速度大於堆,而且編譯器可以修改棧大小,這個值可以隨意設定嗎

學習電腦程式設計多年了,在程式設計方面也算有一番見解,希望這些經驗能對題主有所幫助。實際上,當我們不考慮快取時,堆和堆疊的速度是絕對沒有差別的。當我們考慮快取時,因為堆疊是當前 段中最常被訪問的記憶體,它在快取上的概率幾乎是100 換句話說,不會有快取遺漏 不要使用異常,因為我們討論的是一般情況 一...

設計n個數的排序演算法,並要求計算演算法複雜度

氣泡排序的演算法時間複雜度上o n 2 氣泡排序是這樣實現的 首先將所有待排序的數字放入工作列表中。從列表的第一個數字到倒數第二個數字,逐個檢查 若某一位上的數字大於他的下一位,則將它與它的下一位交換。重複2號步驟,直至再也不能交換。氣泡排序的平均時間複雜度與插入排序相同,也是平方級的,但也是非常容...