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

時間 2021-09-02 20:52:45

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;}

請設計演算法,,求A和B兩個單連結串列表示的集合的交集 並集

include include typedef struct node linklist void readdata linklist head void pop linklist head printf n 求兩個連結串列的並集 void bingji linklist head1,linklis...

設計演算法,將兩個遞增連結串列La Lb合併成遞增連結串列Lc

設計一個演算法,將兩個遞增連結串列la lb合併成一個遞增連結串列lc la,lb,lc均為帶頭結點的連結串列 include typedef int datatype struct pnode typedef struct pnode linklist linklist listcreatenul...

VB中設計演算法,判斷某數是不是迴文數(用文字敘述就可以了)

vb妮可 2種方法,1,是使用vb自帶的函式strreverse 一個數字,被翻過來以後,還和原數字相同,就可以判斷是迴文數了 2.使用迴圈,每次都2端取數字,都相同,就可以判斷為迴文數,當有不同時,跳出迴圈,不是迴文數 最簡單的方法是把數字轉化為字串r,在去掉前導r的空格後,檢查r是否和strre...