这道数据结构试题怎么做? 10

1.通讯录包含许多人的姓名、电话号码等信息,是大量数据的集体存储(所以考虑用基本数据类型还是采用数据结构?);其次,若把手机中通讯录中每条纪录抽象看成一个数据,它要包含哪... 1. 通讯录包含许多人的姓名、电话号码等信息,是大量数据的集体存储(所以考虑用基本数据类型还是采用数据结构?);其次,若把手机中通讯录中每条纪录抽象看成一个数据,它要包含哪些小数据项?这些纪录之间是不是按先后顺序存放的?考虑这样的存放类似哪种逻辑结构(线性表、图、还是树)?
※实质: 先考虑问题中数据存储需要哪些的数据类型和结构
2.考虑要编写的通讯录一般都有哪些功能? 当把手机中通讯录中每条纪录抽象看成一个数据,每项功能本质上可以由数据的哪些操作(或操作组合)实现?
※实质:再考虑在这些结构具体存储下需要实现的功能可分解成哪些基本操作,分别将它们定义出来;若某操作太简单,就不定义,直接写在主函数中;
3.考虑若程序编写好,你正在使用,每项使用前,需要输入什么已知,通过哪些操作,输出(显示)出所求结果。
※实质:编写主函数 按定义变量-输入数据-处理数据-输出结果这个流程编写,所有操作已定义成函数,直接调用即可,其它通过语句实现.
二、实验部分程序实现
1.程序1:
一、打开宏文件,定义所需数据类型
#include "stdio.h"
#define MaxSize 50
typedef struct node
{char xm; /姓名/
float hm ; /电话号码/ }elemtype;

二、将所需操作定义成函数
1.求查找X位置(操作)和插入(操作) 实现功能:可查找某姓名是否存在在该通讯录中和添加新人信息(姓名、电话号码)
如:

三、编写主函数(主程序)
如:main()
{
1.定义变量
如:int i=1,n;
lnode L;
char ch,x;
2.输入数据
如: init(&L);
printf("\n\n\n**************顺序表演示程序***********\n");
printf("请输入你想建立的顺序表的元素,以?结束:");
ch=getchar();
3.主操作(输入参数,然后通过函数或过程的调用实现)

4.输出(各种操作实现后,输出处理结果)
如:printf("\n删除后的顺序表为:");

print(&L);
思考:1.在链式结构下如何实现上述功能?
2.线性表还有哪些现实应用?
四、测试结果
程序1的结果测试:
运行程序,屏幕显示:“请输入你想建立的顺序表的元素,以?结束:”
输入:54381(回车)
你建立的顺序表为:5—>4—>3—>8—>1
顺序表的长度为:5
输入你想查找的元素:4(回车)
你查找的元素为4序位为2
输入你想查找的元素序位:4(回车)
你查找的元素为:8
输入你想插入的元素以及序位:<用逗号隔开>":6,3(回车)
插入后顺序表为:5—>4—>6—>3—>8—>1
请输入你想删除的元素序位:5(回车)
删除后的顺序表为:5—>4—>6—>3—>1

xiele 我的邮箱410834459@qq.com
展开
 我来答
百度网友5b57f589a
2009-06-10 · TA获得超过384个赞
知道答主
回答量:103
采纳率:0%
帮助的人:35.8万
展开全部
你也很搞笑
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
光点科技
2023-08-15 广告
通常情况下,我们会按照结构模型把系统产生的数据分为三种类型:结构化数据、半结构化数据和非结构化数据。结构化数据,即行数据,是存储在数据库里,可以用二维表结构来逻辑表达实现的数据。最常见的就是数字数据和文本数据,它们可以某种标准格式存在于文件... 点击进入详情页
本回答由光点科技提供
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式