qlf40826946 qlf40826946
关注数: 961 粉丝数: 575 发帖数: 8,354 关注贴吧数: 29
我看遮天都是跳着看,感觉还是吞噬星空好看,就是吞噬更新太慢了。 我看遮天都是跳着看,感觉还是吞噬星空好看,就是吞噬更新太慢了。每天等吞噬更新顺便看看遮天 我看遮天都是跳着看,感觉还是吞噬星空好看,就是吞噬更新太慢了。每天等吞噬更新顺便看看遮天我看遮天都是跳着看,感觉还是吞噬星空好看,就是吞噬更新太慢了。每天等吞噬更新顺便看看遮天我看遮天都是跳着看,感觉还是吞噬星空好看,就是吞噬更新太慢了。每天等吞噬更新顺便看看遮天我看遮天都是跳着看,感觉还是吞噬星空好看,就是吞噬更新太慢了。每天等吞噬更新顺便看看遮天我看遮天都是跳着看,感觉还是吞噬星空好看,就是吞噬更新太慢了。每天等吞噬更新顺便看看遮天我看遮天都是跳着看,感觉还是吞噬星空好看,就是吞噬更新太慢了。每天等吞噬更新顺便看看遮天我看遮天都是跳着看,感觉还是吞噬星空好看,就是吞噬更新太慢了。每天等吞噬更新顺便看看遮天我看遮天都是跳着看,感觉还是吞噬星空好看,就是吞噬更新太慢了。每天等吞噬更新顺便看看遮天我看遮天都是跳着看,感觉还是吞噬星空好看,就是吞噬更新太慢了。每天等吞噬更新顺便看看遮天我看遮天都是跳着看,感觉还是吞噬星空好看,就是吞噬更新太慢了。每天等吞噬更新顺便看看遮天我看遮天都是跳着看,感觉还是吞噬星空好看,就是吞噬更新太慢了。每天等吞噬更新顺便看看遮天
我看遮天都是一段一段看的,感觉还是吞噬星空好看,就是吞噬更新太 我看遮天都是跳着看,感觉还是吞噬星空好看,就是吞噬更新太慢了。每天等吞噬更新顺便看看遮天 我看遮天都是跳着看,感觉还是吞噬星空好看,就是吞噬更新太慢了。每天等吞噬更新顺便看看遮天 我看遮天都是跳着看,感觉还是吞噬星空好看,就是吞噬更新太慢了。每天等吞噬更新顺便看看遮天 我看遮天都是跳着看,感觉还是吞噬星空好看,就是吞噬更新太慢了。每天等吞噬更新顺便看看遮天 我看遮天都是跳着看,感觉还是吞噬星空好看,就是吞噬更新太慢了。每天等吞噬更新顺便看看遮天 我看遮天都是跳着看,感觉还是吞噬星空好看,就是吞噬更新太慢了。每天等吞噬更新顺便看看遮天 我看遮天都是跳着看,感觉还是吞噬星空好看,就是吞噬更新太慢了。每天等吞噬更新顺便看看遮天 我看遮天都是跳着看,感觉还是吞噬星空好看,就是吞噬更新太慢了。每天等吞噬更新顺便看看遮天 我看遮天都是跳着看,感觉还是吞噬星空好看,就是吞噬更新太慢了。每天等吞噬更新顺便看看遮天 v我看遮天都是跳着看,感觉还是吞噬星空好看,就是吞噬更新太慢了。每天等吞噬更新顺便看看遮天 我看遮天都是跳着看,感觉还是吞噬星空好看,就是吞噬更新太慢了。每天等吞噬更新顺便看看遮天 我看遮天都是跳着看,感觉还是吞噬星空好看,就是吞噬更新太慢了。每天等吞噬更新顺便看看遮天 vv
数据结构抽象数据类型C语言版 前三章 顺序表的定义和实现:数组表示http://tieba.baidu.com/mo/q/checkurl?url=http%3A%2F%2Fphhx.blog.163.com%2Fblog%2Fstatic%2F191291596201162431359366%2F&urlrefer=ddcf1fc757344a399ebdd8670bd3438a 顺序表的定义和实现:指针表示http://tieba.baidu.com/mo/q/checkurl?url=http%3A%2F%2Fphhx.blog.163.com%2Fblog%2Fstatic%2F191291596201162482242288%2F&urlrefer=dbe17ca8ac018a70549f9d465f275693 单链表的定义和实现http://tieba.baidu.com/mo/q/checkurl?url=http%3A%2F%2Fphhx.blog.163.com%2Fblog%2Fstatic%2F191291596201162482453209%2F&urlrefer=ec6ae0445583b76bacd7d93b8e232885 双链表的定义和实现http://tieba.baidu.com/mo/q/checkurl?url=http%3A%2F%2Fphhx.blog.163.com%2Fblog%2Fstatic%2F191291596201162482642425%2F&urlrefer=c9c28606d5401c441d23a62bd416aec6 顺序栈的定义和实现:数组表示http://tieba.baidu.com/mo/q/checkurl?url=http%3A%2F%2Fphhx.blog.163.com%2Fblog%2Fstatic%2F19129159620116248285890%2F&urlrefer=164ae247987b2310fb2ffe385b194b9c 顺序栈的定义和实现:指针表示http://tieba.baidu.com/mo/q/checkurl?url=http%3A%2F%2Fphhx.blog.163.com%2Fblog%2Fstatic%2F191291596201162482859580%2F&urlrefer=707bad8cca998f66dd04a3595892fc49 链式栈的定义和实现http://tieba.baidu.com/mo/q/checkurl?url=http%3A%2F%2Fphhx.blog.163.com%2Fblog%2Fstatic%2F191291596201162483144690%2F&urlrefer=0789a4683c71e3546319bd3f65667359 顺序队列的定义和实现http://tieba.baidu.com/mo/q/checkurl?url=http%3A%2F%2Fphhx.blog.163.com%2Fblog%2Fstatic%2F191291596201162483416725%2F&urlrefer=2fbb61e89fa51ac4d804a2300a7b9c1e 链式队列的定义和实现http://tieba.baidu.com/mo/q/checkurl?url=http%3A%2F%2Fphhx.blog.163.com%2Fblog%2Fstatic%2F19129159620116248354719%2F&urlrefer=cf09644da80f220609d6d08e6b2df7a0
求助: 关于动态内存分配 /* ADT LinkStack{ 数据对象:D={ai|ai∈ElemSet1,i=1,2,...,n, n≥0} 数据关系:Rl={<ai-1,ai>|ai-1,ai∈D,i=1,2,...n;约定an端为栈顶,a1端为栈底} 基本操作: MakeNode_LS(&p,e) 操作结果: 生成一个值为e的结点。 FreeNode_LS(p) 操作结果: 释放p所指的结点。 InitStack_LS(&L) 操作结果: 构造一个空栈。 DestroyStack_LS(&L) 操作结果: 栈L被销毁。 ClearStack_LS(&L) 操作结果: 将栈L清为空栈。 StackEmpty_LS(&L) 操作结果: 若栈为空栈则返回TRUE,否则返回FALSE。 GetTop_LS(&L,&e) 操作结果: 用e返回L的栈顶元素。 Push_LS(&L,e) 操作结果: 插入元素e为新的栈顶元素。 Pop_LS(&L,&e) 操作结果: 删除L的栈顶元素,并且用e返回其值。 StackTraverse_LS(&L,visit()) 操作结果: 从栈底到栈顶依次对L的每个元素调用函数visit()。一旦visit()失败则操作失败。 }ADT LinkStack */ #include "stdio.h" #include "conio.h" #define INFEASIBLE -1 #define OVERFLOW -2 #define TRUE 1 #define FALSE 0 #define OK 1 #define ERROR 0 typedef int Status; typedef int LSElemType; typedef struct LSNode { LSElemType data; struct LSNode *next; }LSNode,*LSNPtr; typedef struct LinkStack { LSNPtr base,top; int length; }LinkStack; Status MakeNode_LS(LSNPtr *pp,LSElemType e) { *pp=(LSNode *)malloc(sizeof(LSNode)); if(!*pp) exit(OVERFLOW); (*pp)->next=NULL; (*pp)->data=e; return OK; } void FreeNode_LS(LSNPtr *pp) { free(*pp); *pp=NULL; } Status InitStack_LS(LinkStack *Lp) { LSElemType e; LSNPtr *pp; pp=&(Lp->base); if(!MakeNode_LS(pp,e)) return ERROR; Lp->top=Lp->base; Lp->length=0; return OK; } void DestroyStack_LS(LinkStack *Lp) { LSNPtr p,p1,*pp1; p=Lp->base; while(p!=NULL) { pp1=&p1; p1=p; p=p->next; FreeNode_LS(pp1); } free(Lp); } Status ClearStack_LS(LinkStack *Lp) { LSNPtr p,p1,*pp1; if(!Lp->base) return ERROR; p=Lp->base->next; while(p) { pp1=&p1; p1=p; p=p->next; FreeNode_LS(pp1); } Lp->top=Lp->base; Lp->base->next=NULL; Lp->length=0; return OK; } Status StackEmpty_LS(LinkStack *Lp) { if(Lp->length==0) return TRUE; return FALSE; } Status GetTop_LS(LinkStack *Lp,LSElemType *ep) { if(!Lp->base) return ERROR; if(Lp->base==Lp->top) return ERROR; *ep=(Lp->top)->data; return OK; } Status Push_LS(LinkStack *Lp,LSElemType e) { LSNPtr p,*pp; if(!Lp->base) return ERROR; pp=&p; if(!MakeNode_LS(pp,e)) return ERROR; Lp->top->next=p; Lp->top=p; Lp->length++; return OK; } Status Pop_LS(LinkStack *Lp,LSElemType *ep) { LSNPtr p,p1,*pp; if(!Lp->base) return ERROR; if(Lp->top==Lp->base) return ERROR; *ep=Lp->top->data; p=Lp->base; while(p->next!=Lp->top) p=p->next; p->next=NULL; pp=&Lp->top; FreeNode_LS(pp); Lp->top=p; Lp->length--; return OK; } Status StackTraverse_LS(LinkStack *Lp,Status (*visit)()) { LSNPtr p; if(!Lp->base) return ERROR; if(Lp->top==Lp->base) return ERROR; p=Lp->base->next; while(p) { if(!visit(p->data)) return ERROR; p=p->next; } return OK; } int main(void) { int n; LinkStack *Lp; LSNPtr p; LSElemType e,e1,*ep; InitStack_LS(Lp); printf("\nInput the amount of node you want to input:\n"); scanf("%d",&n); while(n>0) { printf("\nInput data:\n"); scanf("%d",&e); Push_LS(Lp,e); n--; } printf("\nPrint LinkStack:\n"); p=Lp->base->next; while(p) { printf("%d\t",p->data); p=p->next; } printf("\nNow the length is:%d",Lp->length); getch(); printf("\nPop stack\n"); ep=&e1; Pop_LS(Lp,ep); printf("The top number is:%d\n",e1); printf("Now the stack is:"); p=Lp->base->next; while(p) { printf("%d\t",p->data); p=p->next; } printf("\nNow the length is:%d",Lp->length); getch(); return 0; }
首页 1 2 下一页