文档介绍:精选优质文档-----倾情为你奉上
精选优质文档-----倾情为你奉上
专心---专注---专业
专心---专注---专业
精选优质文档-----倾情为你奉上
专心---专注---专业
实验二 堆栈和队列
实验目的:
>next;
if(p==NULL)
{ printf("The Stack has been empty!\n");
return 0;
}
head->next=p->next;
*d=p->data;
free(p);
return 1;
}
/*(5)取栈顶数据元素StackTop(LSNode *head, DataType *d) */
int StackTop(LSNode *head, DataType *d)
/*取栈顶数据元素并由参数d带回,*/
/* 成功返回1,否则返回0 */
{ LSNode *p;
p=head->next;
精选优质文档-----倾情为你奉上
精选优质文档-----倾情为你奉上
专心---专注---专业
专心---专注---专业
精选优质文档-----倾情为你奉上
专心---专注---专业
if(p==NULL)
{ printf("The Stack has been empty!\n");
return 0;
}
*d=p->data;
return 1;
}
/*(6)撤销动态申请空间Destroy(LSNode *head) */
void Destroy(LSNode *head)
{ LSNode *p, *p1;
p=head;
while(p!=NULL)
{ p1=p;
p=p->next;
free(p1);
}
}
(2)测试函数如下:
#include<>/*该文件包含printf()函数*/
#include<>/*该文件包含exit()函数*/
#define NULL 0
typedef int DataType;
#include ""
void main(void)
{ LSNode *myStack;
int i, x;
StackInitiate(&myStack);
for(i=0;i<5; i++)
{ if(StackPush(myStack,i+1)==0)
{
printf("error!\n");
return;
}
}
if(StackTop(myStack, &x)==0)
{
printf("error!\n");
return;
}
els