C 언어 구현 순서 스 택 초기 화 & 스 택 & 스 택 나 가기 & 스 택 상단 요소 읽 기
2882 단어 데이터 구조
/* */
#include
#include
#define Stack_Size 50 // 50
#define OK 1
#define ERROR 0
typedef struct
{
int elem[Stack_Size]; //
int top; // ,top -1
}SeqStack;
/********************** *********************/
int initStack(SeqStack *S); //
void push(SeqStack *S,int n); //
void pop(SeqStack *S); //
int getTop(SeqStack *S,int *s); //
int main()
{
SeqStack *S;
int choice;
while(true)
{
printf("*****************Please enter your choice*****************
");
printf(" choice 1:Stack initialization
");
printf(" choice 2:Into the stack
");
printf(" choice 3:Out of the stack
");
printf(" choice 4:Read the stack elements
");
printf(" choice 0:exit
");
scanf("%d",&choice);
switch(choice)
{
case 1:
(initStack(S)==1)?printf("initStck success.
"):printf("initStack ERROR
");
break;
case 2:
int n;
printf("Please enter the number into the stack elements:");
scanf("%d",&n);
push(S,n);
break;
case 3:
pop(S);
break;
case 4:
int* s;
(getTop(S,s)==1)? printf(" :%d.
",*s):printf("An empty stack error!!!!
"); //
break;
case 0:
exit(0);
break;
default:
printf("ERROR!!
");
exit(0);
break;
}
}
return 0;
}
/********************** *********************/
int initStack(SeqStack *S) //
{
if(S!=NULL)
{
S->top=-1; //
return OK;
}
else return ERROR; //
}
void push(SeqStack *S,int n) // ,
{
int n1,n2;
if(((S->top)+n)<=Stack_Size-1) //
{
printf("Please enter into the stack elements in turn:
");
for(n1=0;n1top++; //
S->elem[S->top]=n2;
}
printf("%d
",n);
}
else
{ //
printf("ERROR There is insufficient space on the stack.
");
}
}
void pop(SeqStack *S)
{ //
int a;
if(S->top==-1)
{ // ,
printf("An empty stack error!!!!
");
}
else
{
a=S->elem[S->top];
S->top--;
printf(" %d .
",a); //
}
}
int getTop(SeqStack *S,int *s) //
{
if(S->top==-1)
{ // ,
return ERROR;
}
else
{
*s=S->elem[S->top]; //
return OK;
}
}
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
정수 반전Udemy 에서 공부 한 것을 중얼거린다 Chapter3【Integer Reversal】 (예) 문자열로 숫자를 반전 (toString, split, reverse, join) 인수의 수치 (n)가 0보다 위 또는 ...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.