数据结构习题
文章平均质量分 80
sandlgc
这个作者很懒,什么都没留下…
展开
-
数据结构习题学习笔记(The First Day)
问题一:编写一个函数从一给定的向量 A 中删除元素值在 x 到 y(x≤y)之间的所有元素,要求以较高的效率来实现。程序用C语言描述:#include "stdafx.h"int del(int A[],int n,int x,int y){ int i=1,k=0; while(i if(A[i]>=x && A[i] else A[i-k]=A[i];//前移k个位置原创 2007-11-11 16:12:00 · 1189 阅读 · 0 评论 -
数据结构习题学习笔记(The Second Day)
Q1:设 A=((a ,a ,...,a )和 B=( b ,b ,...,b )均为向量,A’和 B’分别为 A 和 B 中除去最大共同前缀后的子表(例如,A=(x,y,y,z,x,z),B=(x,y,y,z,y,x,x,z),则两者的最大共同前缀为 x,y,y,z,在两向量中除去最大共同前缀后的子表分别为 a’=(x,z),B’=(y,x,x,z))。若 A’=B’=空表,则 A=B;若 A原创 2007-11-12 21:31:00 · 600 阅读 · 0 评论 -
数据结构习题学习笔记(The Third Day)
Q1:编写一个函数将一般算术表达式转化为逆波兰表达式。假设表达式是以字符的形式由键盘输入(简单起见,设算术表达式中的参加运算的数只有一位数字)。字符数组str:算术表达式字符数组exp:逆波兰表达式字符数组stack:栈方法如下:1,若C为数字 -> 将C依次存入数组exp中;2,若C为左括号"(" -> 将此括号压入栈;3,若C为右括号")" -> 将栈stac原创 2007-11-16 16:17:00 · 733 阅读 · 0 评论 -
数据结构习题学习笔记(The Fourth Day)
Q1:假设一个算术表达式中包含圆括弧、方括弧和花括弧三种类型的括弧,编写一个判别表达式中括弧是否正确配对的函数 correct(exp,tag);其中,exp 为字符串类型的变量,表示被判别的表达式,tag 为布尔型变量。使用栈st进行判断,将"(","["或"{"入栈,当遇到")","]"或"}"时,检查当前栈顶元素是否是对应的"(","["或"{"若是则退栈,否则返回表示不配对.原创 2007-11-17 16:11:00 · 1260 阅读 · 0 评论 -
数据结构习题学习笔记(The Fifth Day)
Q1: 用单链表实现队列,并令 front=rear=NULL 表示队列为空,编写实现队列的如下五种运算的函数:makenull:将队列置成空队列;front:返回队列的第一个元素;enqueue:把元素 x 插入到队列的后端;dequeue:删除队列的第一个元素;empty:判定队列是否为空。MyView:道理简单,实现起来不容易.注:使用LCC的IDE,原创 2007-11-20 16:47:00 · 935 阅读 · 0 评论 -
数据结构习题学习笔记(The Sixth Day)
Q1: 如果用一个循环数组 qu[0,m0-1]表示队列时,该队列只有一个头指针 front,不设队尾指针 rear,而改置计数器 count 用以记录队列中结点的个数。(1)编写实现队列的五个基本运算;(2)队列中能容纳元素的最多个数还是 m0-1 吗? 队列为空:count==0,front==0;队列为满:count==m0;My View;有三个关键的地方:1,模运原创 2007-11-22 16:59:00 · 982 阅读 · 0 评论