当前位置:文档之家› c类和对象实验报告

c类和对象实验报告

实验一类和对象
实验课程名:面向对象程序设计(C++)
专业班级:学号:姓名:
实验时间:实验地点:指导教师:
p->PrintList();
cout<<"请输入要删除的元素所在的位置:"<<endl;
cin>>n;
p->Delete(n);
p->PrintList();
return 0;
}
运行结果:
2.设计一个带头结点的单链表类,要求:
(1)生成一个整数线性表,实现将其分解成两个链表,
其中一个全部为奇数,另一个全部为偶数(尽量利
用已知的存储空间)。

(2)设计一个测试主函数,实际运行验证所设计单链表类的正确性。

实验代码:#include<iostream>
using namespace std;
L3.PrintList( );
cout<<"链表的长度为:"<<L1.Length( )<<endl;
cout<<"链表的第四个元素为:"<<L1.Get(4)<<endl;
cout<<"链表中元素5为第"<<L1.Locate(5)<<"个元素"<<endl;
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<int> L(a,10);
cout<<"链表长为:"<<L.Length()<<endl;
cout<<"链表的第6个元素为:"<<L.Get(6)<<endl;
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<iostream>
using namespace std;
template<class T>
struct Node
{
T data;
Node<T> *next,*front;
};
template <class T>
class LinkList
{
public:
L.PrintList( );
L.Delete(8);
cout<<"删除第8个元素后链表变为:";
L.PrintList( );
return 0;
}
实验结果:
*6.设计一个单链表实现一元多项式求和问题。

要求:(1)设计存储结构表示一元多项式;
(2)设计算法实现一元多项式相加。

实验代码:#include <iostream>
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;
}
实验结果:。

相关主题