云题海 - 专业文章范例文档资料分享平台

当前位置:首页 > 数据结构知识点总结

数据结构知识点总结

  • 62 次阅读
  • 3 次下载
  • 2025/5/8 2:40:55

p -> next ? q;

q ? p;

}

return ( p );

}

有一个单链表(不同结点的数据域值可能相同),其头指针为head,编写

一个函数计算数据域为x的结点个数。链表节点结构定义如下:

data next 解:遍历该链表的每个结点,每遇到一个结点,判断其值是否为x,是的话就计数。结点个数存储在变量n中。算法如下:

int Counter(head, x) {

int n = 0; p <= head; while ( p != NULL ) {

if (p->data = x )

n <= n + 1;

p <= p -> next; } return ( n ); }

-------------------------------------------------------------------------------

栈和队列

栈:限定仅在表尾进行插入或删除

栈:是限定仅在表尾进行插入或删除操作的线性表 表尾(栈顶) 表头(栈底)

假设栈S=(a1,a2,…,an),则称a1为栈底元素,an为栈顶元素。栈中元素按a1,a2,…,an的次序进栈,退栈的第一元素应为栈顶元素。换句话说,栈的修改是按后进先出的原则进行的。因此,栈又称为后进后出的线性表。

压栈算法:int PushStack(s[],top,x) {

if(top>=SMAX) {

printf(\return 0;

} else { } }

出栈算法:

ElemType Popstack(s[],top,bottom) {

if(top<=bottom) { } } else {

top<=top-1; y<=S[top]; return y; return 0;

printf(\S[top]<=x; top=top++;

}

作业2:为了节省空间,两个栈共享一段内存,写出这两个栈的压栈及出栈算法。

为了增加内存空间的利用率和减少溢出的可能性,由两个栈共享一片连续地内存空间时,应将两栈的栈底,分别设在这片内存空间的两端,这样,当两个栈的栈顶在栈空间的某一位置相遇时,才会产生上溢。

两个栈共享空间的条件:两栈顶指针值相减的绝对值为1(两栈顶指针相邻) 数组Q[0..n-1]作为一个环形队列,f为当前队头元素的前一位置,r 为队尾元素的位置,假定队列中元素的个数总小于 n,计算队列中元素个数的公式是 (n+r-f) mod

队列特点:先进先出,队头出,队尾进,当队尾大于队头时,说明进的比出的多,此时元素个数为Rear – Front

循环队列用数组A[0..m-1]存放其元素值,已知其头尾指针分别是front和rear,则当前队列中的元素个数是(rear-front+m) MOD m

循环队列两指针front指示队列头元素位置rear指示队列尾元素位置 初始化建空队列时,令front=rear=0,插入新的尾元素->尾指针+1;删除队列头元素->头指针+1 头指针始终指向队列头元素

搜索更多关于: 数据结构知识点总结 的文档
  • 收藏
  • 违规举报
  • 版权认领
下载文档10.00 元 加入VIP免费下载
推荐下载
本文作者:...

共分享92篇相关文档

文档简介:

p -> next ? q; q ? p; } return ( p ); } 有一个单链表(不同结点的数据域值可能相同),其头指针为head,编写一个函数计算数据域为x的结点个数。链表节点结构定义如下: data next 解:遍历该链表的每个结点,每遇到一个结点,判断其值是否为x,是的话就计数。结点个数存储在变量n中。算法如下: int Counter(head, x) { int n = 0; p <= head; while ( p != NULL ) { if (p->data = x ) n <= n

× 游客快捷下载通道(下载后可以自由复制和排版)
单篇付费下载
限时特价:10 元/份 原价:20元
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信:fanwen365 QQ:370150219
Copyright © 云题海 All Rights Reserved. 苏ICP备16052595号-3 网站地图 客服QQ:370150219 邮箱:370150219@qq.com