데이터 구조 - 스 택 순서 저장

데이터 구조 - 스 택 순서 저장
       
스 택 의 순서 저장 소 는 배열 로 설명 할 수 있 습 니 다. 변 수 를 추가 할 수 있 습 니 다. top 저장 소 상단 요 소 는 배열 의 아래 표 시 됩 니 다. 다음은 기본 작업 의 실현 코드 입 니 다.
#include 
#include 
#include 
#include 
/**      **/
#define Max_Size 100
typedef struct Data{
	char name[10];
	int age;
};
typedef struct{
	Data data[Max_Size];
	int top;	//             
}Stack;
/**     **/
void InitStack(Stack *S){
	S->top = 0;
}
/**       **/
int StackEmpty(Stack S){
	//    1    0
	if(S.top==0) return 1;
	else return 0;
}
/**      **/
void GetTop(Stack S,Data *d){
	if(StackEmpty(S)==1)
		printf("It's an empty stack!");
	else{
		Data data = S.data[S.top-1];
		strcpy(d->name,data.name);
		d->age = data.age;
	}
}
/**           **/
void PushStack(Stack *S,Data d){
	int top = S->top;
	if(topdata[top].name,d.name);
		S->data[top].age = d.age;
		S->top++;
	}else{
		printf("Error!It's a full stack!
"); } } /** **/ void PopStack(Stack *S,Data *d){ if(StackEmpty(*S)==1){ printf("It's an empty stack!
"); }else{ strcpy(d->name,S->data[S->top-1].name); d->age = S->data[S->top-1].age; S->top--; } } /** **/ void ClearStack(Stack *S){ if(StackEmpty(*S)==1){ printf("It's already an empty stack!
"); }else{ S->top = 0; } } /** **/ void PrintStack(Stack S){ if(StackEmpty(S)==1){ printf("It's an empty stack!
"); }else{ printf("name----age
"); int len = S.top; for(int i =0;i

좋은 웹페이지 즐겨찾기