스 택 - 체인 스 택 (앞장 서지 않 음) 의 정의 와 기본 작업 이 매우 상세 합 니 다!
13214 단어 데이터 구조대학원 에 진학 하 다
#include
#include
#include
//
typedef struct linknode
{
int data;
struct linknode* next;
}linknode, *linkstack;
//
void initialize_stack(linkstack* s)
{
(*s) = NULL;
}
// ( )
void push(linkstack* s, int x)
{
linknode* p = (linknode*)malloc(sizeof(linknode));
p->next = NULL;
p->data = x;
p->next = (*s);
(*s) = p;
return;
}
// ( )
void pop(linkstack* s)
{
printf("the element deleted is: %d
", (*s)->data);
linknode* p;
p = (*s);
(*s) = (*s)->next;
free(p);
return;
}
// ( )
void top_stack(linkstack s)
{
if(s == NULL)
{
printf("the top:there is not element in it.
");
return;
}
else
{
printf("the top of the stack is:%d
", s->data);
return;
}
}
//
void empty_stack(linkstack s)
{
if(s == NULL)
{
printf("the stack is empty.
");
return;
}
else
{
printf("the stack is not empty.
");
return;
}
}
//
void print_stack(linkstack s)
{
if(s == NULL)
{
printf("print stack:there is not element in it.
");
return;
}
else
{
printf("the elements of this stack:");
while(s != NULL)
{
printf("%d ", s->data);
s = s->next;
}
printf("
");
return;
}
}
int main()
{
linkstack s;
initialize_stack(&s);
push(&s, 1);
push(&s, 2);
push(&s, 5);
print_stack(s);
pop(&s);
pop(&s);
pop(&s);
print_stack(s);
top_stack(s);
empty_stack(s);
return 0;
}
잘못 이 있 으 면 지적 해 주세요 ~
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 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에 따라 라이센스가 부여됩니다.