
数据结构(C语言)
文章平均质量分 79
Beta3
这个作者很懒,什么都没留下…
展开
-
第八章 动态存储管理
8.11 typedef struct { char *start; int size; } fmblock; //空闲块类型 char *Malloc_Fdlf(int n)//遵循最后分配者最先释放规则的内存分配算法{ while(Gettop(S,b)&&b.s原创 2007-06-13 21:46:00 · 696 阅读 · 0 评论 -
第四章 串
4.10 void String_Reverse(Stringtype s,Stringtype &r)//求s的逆串r{ StrAssign(r,); //初始化r为空串 for(i=Strlen(s);i;i--) { StrAssign(c,SubString(s,i,1)); StrAssign(r,Concat(r,c)); //把s的字符从后往前添加到原创 2007-06-13 20:28:00 · 625 阅读 · 0 评论 -
第一章 绪论
1.16 void print_descending(int x,int y,int z)//按从大到小顺序输出三个数{ scanf("%d,%d,%d",&x,&y,&z); if(xy; //为表示交换的双目运算符,以下同 if(yz; if(xy; //冒泡排序 printf("%d %d %d",x,y,z);}//print_descending 1.17 Status fi原创 2007-06-13 20:06:00 · 667 阅读 · 0 评论 -
第二章 线性表
2.10 Status DeleteK(SqList &a,int i,int k)//删除线性表a中第i个元素起的k个元素{ if(ia.length) return INFEASIBLE; for(count=1;i+count-1注意循环结束的条件 a.elem[i+count-1]=a.elem[i+count+k-1]; a.length-=k; return原创 2007-06-13 20:12:00 · 940 阅读 · 0 评论 -
第三章 栈与队列
3.15 typedef struct{ Elemtype *base[2]; Elemtype *top[2]; }BDStacktype; //双向栈类型 Status Init_Stack(BDStacktype &tws,int m)//初始化一个大小为m的双向原创 2007-06-13 20:17:00 · 916 阅读 · 0 评论 -
第五章 数组和广义表
5.18 void RSh(int A[n],int k)//把数组A的元素循环右移k位,只用一个辅助存储空间{ for(i=1;i if(n%i==0&&k%i==0) p=i;//求n和k的最大公约数p for(i=0;i { j=i;l=(i+k)%n;temp=A[i]; while(l!=i) { A[j]=temp; tem原创 2007-06-13 20:32:00 · 1027 阅读 · 0 评论 -
第六章 树和二叉树
6.33 int Is_Descendant_C(int u,int v)//在孩子存储结构上判断u是否v的子孙,是则返回1,否则返回0{ if(u==v) return 1; else { if(L[v]) if (Is_Descendant(u,L[v])) return 1; if(R[v]) if (Is_Descendant(u,R[v]原创 2007-06-13 21:22:00 · 1027 阅读 · 0 评论 -
第七章 图
7.14 Status Build_AdjList(ALGraph &G)//输入有向图的顶点数,边数,顶点信息和边的信息建立邻接表{ InitALGraph(G); scanf("%d",&v); if(v顶点数不能为负 G.vexnum=v; scanf("%d",&a); if(a边数不能为负 G.arcnum=a; for(m=0;m G.vertices原创 2007-06-13 21:43:00 · 823 阅读 · 0 评论 -
第九章 查找
9.25 int Search_Sq(SSTable ST,int key)//在有序表上顺序查找的算法,监视哨设在高下标端{ ST.elem[ST.length+1].key=key; for(i=1;ST.elem[i].key>key;i++); if(i>ST.length||ST.elem[i].key return i;}//Search_Sq分析:本算法查找成功情原创 2007-06-13 22:00:00 · 930 阅读 · 0 评论