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

当前位置:首页 > 《数据结构实验指导书》

《数据结构实验指导书》

  • 62 次阅读
  • 3 次下载
  • 2025/5/23 13:01:23

第一部分 上机实践

void CreatTable(stuType stus[], int n) //创建n个学生信息的表stus { int i;

printf(\输入%d个学生信息(学号 姓名 成绩):\\n\ for(i=1; i<=n; i++)

scanf(\}

int SearchByName(stuType stus[], int n, char name[]) //按姓名查找 { int i;

strcpy(stus[0].name,name);

for(i=n; strcmp(stus[i].name,name)!=0; i--); return i; }

int SearchByNum(stuType stus[], int n, int num) //按学号进行顺序查找 { //在此给出设计完成的代码 }

void menuPrint()

{ printf(\查找*****\\n\ printf(\按学号查找\\n\ printf(\按姓名查找\\n\ printf(\退出\\n\ printf(\请选择:\}

int main()

{ stuType stus[40]; int num;

char name[20];

int n=6, select, loc; CreatTable(stus,n); menuPrint();

scanf(\

-39-

第一部分 上机实践

while(select) { if(select==1)

{ printf(\输入学号:\ loc=SearchByNum(stus,n,num);

if(loc) printf(\ else printf(\”); }

if(select==2)

{ printf(\输入姓名:\ loc=SearchByName(stus,n,name);

if(loc) printf(\ else printf(\”); }

else return;

menuPrint(); scanf(\ }

return 0; }

2.折半查找算法设计

将顺序查找算法设计程序中的按学号查找算法改为折半查找算法,然后现重新调试运行程序。注意创建学生表时,必须按学号的升序(或降序)的顺序输入。

int SearchByNum(stuType stus[], int n, int num) //按学号进行折半查找 { //在此给出设计完成的代码 }

-40-

第一部分 上机实践

3.二叉排序树

如下给出了二叉排序树的动态查找及创建及中序遍历算法的程序的主要代码和框架。参考本程序,同学们可在课外完成二叉排序树的相关内容。

#include \#include \typedef struct BNode { int data;

struct BNode *lchild; struct BNode *rchild; } *BiTree;

int Search_D(BiTree T, int key,BiTree &q) //动态查找算法 { //代码略 }

void CreatBST(BiTree &T) //创建算法 { int key,flag;

BiTree p,q; T=NULL;

printf(\输入一序列(以-999)结束,来创建BST树\\n\

scanf(\ while(key!=-999)

{ flag=Search_D(T,key,q);

if(!flag)

{ p=(BiTree)malloc(sizeof(struct BNode));

p->data=key;p->lchild=p->rchild=NULL; if(!q) T=p;

else if(keydata) q->lchild=p; else q->rchild=p;

}

scanf(\

}

}

void InorderOutput(BiTree T) //递归实现中序输出二叉排序树T中的各个元素 { //代码略 }

int main() { BiTree T;

CreatBST(T); InorderOutput(T); return 0;

}

-41-

第一部分 上机实践

-42-

成绩:

四、实验总结

搜索更多关于: 《数据结构实验指导书》 的文档
  • 收藏
  • 违规举报
  • 版权认领
下载文档10.00 元 加入VIP免费下载
推荐下载
本文作者:...

共分享92篇相关文档

文档简介:

第一部分 上机实践 void CreatTable(stuType stus[], int n) //创建n个学生信息的表stus { int i; printf(\输入%d个学生信息(学号 姓名 成绩):\\n\ for(i=1; i<=n; i++) scanf(\} int SearchByName(stuType stus[], int n, char name[]) //按姓名查找 { int i; strcpy(stus[0].name,name); for(i=n; strcmp(stus[i].name,name)!=0; i--); return i; } int SearchByNum(stuType stus

× 游客快捷下载通道(下载后可以自由复制和排版)
单篇付费下载
限时特价: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