c类和对象实验报告
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
实验一类和对象
实验课程名:面向对象程序设计(C++)
专业班级:学号:姓名:
实验时间:实验地点:指导教师:
p->PrintList();
cout<<"请输入要删除的元素所在的位置:"< cin>>n; p->Delete(n); p->PrintList(); return 0; } 运行结果: 2.设计一个带头结点的单链表类,要求: (1)生成一个整数线性表,实现将其分解成两个链表, 其中一个全部为奇数,另一个全部为偶数(尽量利 用已知的存储空间)。 (2)设计一个测试主函数,实际运行验证所设计单链表类的正确性。 实验代码:#include using namespace std; L3.PrintList( ); cout<<"链表的长度为:"< cout<<"链表的第四个元素为:"< cout<<"链表中元素5为第"< L1.Insert(4, 17); cout<<"插入元素后链表为:"; L1.PrintList( ); L1.Delete(8); cout<<"删除第8个元素后链表变为:"; L1.PrintList( ); return 0; } 实验结果: 3.设计一个不带头结点的单链表类,要求: (1)不带头结点单链表类的成员函数包括取数据元素个 数、插入元素、删除所有值为k的元素、取数据元素。 { int a[10]={0,1,2,3,4,5,6,7,8,9}; LinkList cout<<"链表长为:"< cout<<"链表的第6个元素为:"< L.Insert(5,17); cout<<"在链表第5个位置插入元素17后链表变为:"; L.PrintList(); L.Delete(8); cout<<"删除第8个元素后链表变为:"; L.PrintList(); return 0; } 实验结果为: 4.设计一个带头结点的循环单链表类,实现约瑟夫环问题; 问题描述:设编号为1,2,…,n(n>0)个人按顺时针方向围坐-圈,每人持有一个正整数密码。开始时任意给出一个报数上限值m从第一个人开始顺时针方向自1起顺序报数。报到m时停止报数,报m的人出列,将他的密码作为新的m值,从他在顺时针方向上的下一个人起重 实验结果: *5.设计一个带头结点的循环双向链表类,要求: (1)带头结点循环双向链表类的成员函数包括:取数据 元素个数、插入、删除、取数据元素。 (2)设计一个测试主函数,实际运行验证所设计循环双向链表类的正确性 实验代码: #include using namespace std; template struct Node { T data; Node }; template class LinkList { public: L.PrintList( ); L.Delete(8); cout<<"删除第8个元素后链表变为:"; L.PrintList( ); return 0; } 实验结果: *6.设计一个单链表实现一元多项式求和问题。要求:(1)设计存储结构表示一元多项式; (2)设计算法实现一元多项式相加。 实验代码:#include using namespace std; struct Node { o->next=k; o=k; p=q; q=q->next; } } if(q)o->next=q; if(s)o->next=s; } 实验结果: