데이터 구조 --- 스 택 C 언어 구현
#include <stdio.h>
#include <stdlib.h>
#define uchar unsigned char
#define uint unsigned int
#define SIZE 1024
static int stack[SIZE] = {0};
static int index = 0 ;
int Is_Empty(void) ;
int Is_Full(void) ;
int push(int value) ;
int pop(int *value) ;
int top(int *value) ;
int main(void)
{
int i ;
int buffer[5] = {1,2,3,4,5} ;
printf(" :
");
for(i = 0 ; i < 5 ; i++)
{
printf("stack[%d]=%d
",i,stack[i]);
}
int temp ;
for(i = 0 ; i < 5 ; i++)
{
push(buffer[i]);
}
printf(" :
");
for(i = 0 ; i < 5 ; i++)
{
printf("stack[%d]=%d
",i,stack[i]);
}
printf(" :
");
while(1)
{
if(pop(&temp))
break ;
printf("%d
",temp);
}
printf("top:%d
",top(&temp));
getchar();
return 0 ;
}
int Is_Empty(void)
{
//
return index == 0 ;
}
int Is_Full(void)
{
//
return index == SIZE -1 ;
}
int push(int value)
{
// , , 1
if(Is_Full())
return 1 ;
//
stack[index] = value ;
index++ ;
return 0 ;
}
int pop(int *value)
{
// , , 1
if(Is_Empty())
return 1 ;
//
*value = stack[--index];
return 0 ;
}
int top(int *value)
{
//
if(Is_Empty())
return 1 ;
*value = stack[index-1];
return 0 ;
}
실행 결과:
창고 에 들 어가 기 전:
stack[0]=0
stack[1]=0
stack[2]=0
stack[3]=0
stack[4]=0
입고 후:
stack[0]=1
stack[1]=2
stack[2]=3
stack[3]=4
stack[4]=5
출고 후:
5
4
3
2
1
top:1
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
다양한 언어의 JSONJSON은 Javascript 표기법을 사용하여 데이터 구조를 레이아웃하는 데이터 형식입니다. 그러나 Javascript가 코드에서 이러한 구조를 나타낼 수 있는 유일한 언어는 아닙니다. 저는 일반적으로 '객체'{}...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.