收藏 分销(赏)

数据结构简单行编辑器.doc

上传人:仙人****88 文档编号:8161563 上传时间:2025-02-05 格式:DOC 页数:8 大小:65.50KB 下载积分:10 金币
下载 相关
数据结构简单行编辑器.doc_第1页
第1页 / 共8页
数据结构简单行编辑器.doc_第2页
第2页 / 共8页


点击查看更多>>
资源描述
学 号 09710213 数据结构课程设计 设计说明书 文章编辑 起止日期: 2011年 1月 4 日 至 2011 年 1月7日 学生姓名 张颜南 班级 09计算机2班 成绩 指导教师(签字) 邢振祥 电子与信息工程系 2011年 1 月 7 日 天津城市建设学院 课程设计任务书 2010—2011学年第1学期 电子与信息工程 系 计算机 专业 09级2 班级 课程设计名称: 数据结构课程设计 设计题目: 文章编辑 完成期限:自 2011 年 1 月 4 日至 2011 年 1 月 7 日共 1 周 设计依据、要求及主要内容(可另加附页): 一、设计目的 熟悉各种数据结构和运算,会使用数据结构的基本操作解决一些实际问题。 二、设计要求 (1)重视课程设计环节,用严谨、科学和踏实的工作态度对待课程设计的每一项任务; (2)按照课程设计的题目要求,独立地完成各项任务,严禁抄袭;凡发现抄袭,抄袭者与被抄袭者皆以零分计入本课程设计成绩。凡发现实验报告或源程序雷同,涉及的全部人员皆以零分计入本课程设计成绩; (3)学生在接受设计任务后,首先要按设计任务书的要求编写设计进程表; (4)认真编写课程设计报告。 三、设计内容 二叉树 四、参考文献 1.王红梅.数据结构.清华大学出版社 2.王红梅.数据结构学习辅导与实验指导.清华大学出版社 3.严蔚敏,吴伟民.数据结构(C语言版).清华大学出版社 //LinkList.h 声明类LinkList #ifndef LinkList_H #define LinkList_H template <class T> struct Node { T data; Node<T> *next; //此处<T>也可以省略 }; template <class T> class LinkList { public: LinkList( ); //建立只有头结点的空链表 LinkList(T a[ ], int n); //建立有n个元素的单链表 ~LinkList(); //析构函数 void PrintList( ); //遍历单链表,按序号依次输出各元素 Node<T> * Locate(T x); //查找值为x的元素,并返回地址 int Length(); //求单链表长度 void Reverse(); //单链表逆置 private: Node<T> *first; //单链表的头指针 }; #endif //LinkList.cpp #include "LinkList.h" /* *前置条件:单链表不存在 *输 入:无 *功 能:构建一个单链表 *输 出:无 *后置条件:构建一个单链表 */ template <class T> LinkList<T>:: LinkList( ) { first=new Node<T>; first->next=NULL; } /* *前置条件:单链表不存在 *输 入:顺序表信息的数组形式a[],单链表长度n *功 能:将数组a[]中元素建为长度为n的单链表 *输 出:无 *后置条件:构建一个单链表 */ template <class T> LinkList<T>:: LinkList(T a[ ], int n) { first=new Node<T>; //生成头结点 Node<T> *r,*s; r=first; //尾指针初始化 for (int i=0; i<n; i++) { s=new Node<T>; s->data=a[i]; //为每个数组元素建立一个结点 r->next=s; r=s; //插入到终端结点之后 } r->next=NULL; //单链表建立完毕,将终端结点的指针域置空 } /* *前置条件:无 *输 入:无 *功 能:无 *输 出:无 *后置条件:无 */ template <class T> LinkList<T>:: ~LinkList() { } /* *前置条件:单链表存在 *输 入:无 *功 能:单链表遍历 *输 出:输出所有元素 *后置条件:单链表不变 */ template <class T> void LinkList<T>::PrintList( ) { Node<T> *p; p=first->next; while (p) { cout<<p->data<<endl; p=p->next; } } /* *前置条件:单链表存在 *输 入:无 *功 能:求单链表的长度 *输 出:输出单链表的长度 *后置条件:单链表不变 */ template <class T> int LinkList<T>::Length( ) { } /* *前置条件:单链表存在 *输 入:无 *功 能:单链表逆置 *输 出:无 *后置条件:单链表顺序逆置 */ template <class T> void LinkList<T>::Reverse( ) { } /* *前置条件:单链表存在 *输 入:值 x *功 能:查找值为x的元素 *输 出:如果查找成功,输出元素的位置,否则输出空 *后置条件:单链表不变 */ template <class T> Node<T> * LinkList<T>::Locate(T x) { } //LinkListMain.cpp #include <iostream.h> //引用输入输出流库函数的头文件 #include "LinkList.cpp" //引用单链表的类 void main( ) { int r[100],n,i,x; cout<<"请输入线性表中元素的个数!"<<endl; cin>>n; cout<<"请输入线性表中每个元素!"<<endl; for(i=0;i<n;i++) {cout<<"请输入第"<<i+1<<"个元素!"<<endl; cin>>r[i]; } LinkList<int> b(r,n); //根据数组创建单链表 cout<<"单链表b为:"<<endl; b.PrintList(); //输出单链表所有元素 char s='9'; while(s!='0') { cout<<"1.逆置\n"<<endl; cout<<"2.打印\n"<<endl; cout<<"3.求长度\n"<<endl; cout<<"4.查找\n"<<endl; cout<<"0......退出\n"<<endl; cin>>s; switch(s) { case '1': b.Reverse(); break; case '2': cout<<"单链表b为:"<<endl; b.PrintList(); //输出单链表所有元素 break; case '3': cout<<"单链表b的长度为:"<< b.Length()<<endl; //输出单链表的长度 break; case '4': cout<<"请输入待查找的元素值:"<<endl; cin>>x; if (!b.Locate(x)) cout<<"无此元素"; else cout<<"查找成功:"<<endl; break; } } } 8 1
展开阅读全文

开通  VIP会员、SVIP会员  优惠大
下载10份以上建议开通VIP会员
下载20份以上建议开通SVIP会员


开通VIP      成为共赢上传

当前位置:首页 > 教育专区 > 小学其他

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        抽奖活动

©2010-2026 宁波自信网络信息技术有限公司  版权所有

客服电话:0574-28810668  投诉电话:18658249818

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :微信公众号    抖音    微博    LOFTER 

客服