实验二:单链表的实现
来源:互联网 发布:生死狙击矩阵图片 编辑:程序博客网 时间:2024/06/01 07:29
一、实验目的
建立一个由n个学生成绩的单链表,n的大小由自己确定,每一个学生的成绩信息由自己确定,实现数据的对表进行插入、删除、查找等操作。分别输出结果。
#ifndef LinlList_H#define LinkList_Htemplatestruct Node{DataType data; Node *next;};template class LinkList{public:LinkList(); LinkList(DataType a[],int n); ~LinkList(); int Locate(DataType x); void Insert(int i,DataType x); DataType Delete(int i); void PrintList();private:Node *first;};#endif#include using namespace std;#include "LinkList.h"template LinkList ::LinkList(){first=new Node ;first->next=NULL;}template LinkList ::LinkList(DataType a[],int n){Node *r,*s;first=new Node ;r=first;for(int i=0;i ;s->data=a[i];r->next=s;r=s;}r->next=NULL;}template LinkList ::~LinkList(){Node *q=NULL;while(first!=NULL){q=first;first=first->next;delete q;}}template void LinkList ::Insert(int i,DataType x){Node *p=first,*s=NULL;int count=0;while(p!=NULL &&count next;count++;}if(p==NULL)throw"位置";else{s=new Node ;s->data=x;s->next=p->next;p->next=s;}}template DataType LinkList ::Delete(int i){Node *p=first,*q=NULL;DataType x;int count=0;while(p!=NULL &&count next;count++;}if(p==NULL||p->next==NULL)throw"位置";else{q=p->next;x=q->data;p->next=q->next;delete q;return x;}}template int LinkList ::Locate(DataType x){Node *p=first->next;int count=1;while(p!=NULL){if(p->data==x)return count;p=p->next;count++;}return 0;}template void LinkList ::PrintList(){Node *p=first->next;while(p!=NULL){ cout< data<<"";p=p->next;}cout< using namespace std;#include "LinkList.cpp" //引入类LinkList的成员函数定义void main(){int r[5]={100,99,88,77,66};LinkList L(r,5);cout<<"执行插入操作前学生成绩为:"<
三、实验心得
这是单链表实现对学生成绩的一些简单功能,单链表相对与顺序表来说,有点复杂,依靠工作指针实现数据的功能。我参考了实验书中的单链表实现的程序,
我需要再投入时间学习如何将程序高级化。
阅读全文
0 0
- 实验二 单链表的实现
- 实验二:单链表的实现
- 实验二 单链表实现
- 数据结构实验二--单链表的基本实现
- 实验二:线性表实验-单链表的实现
- 数据结构实验二——单链表的基本实现
- 【实验二】单链表的实验验证
- 实验二 线性表实验之顺序表和单链表的实现
- 实验二~顺序表的实现
- 实验二:FFT算法的MATLAB实现
- 实验二:顺序表的实现
- 实验二 词法分析器的实现
- 实验二 单链表实验
- 实验二 单链表实现学生成绩
- 实验二 删除奇数结点的链表-----程序实现
- android实验二 图片查看器的设计与实现
- FxCAD实验二 实现对象的移动功能
- 实验二 线性表的链式表示与实现
- Mac上一键反编译Apk与查看jar文件
- HDU 1878 欧拉回路
- 1.10 c++_函数
- Per(前缀和)
- [BZOJ]4750: 密码安全 单调栈
- 实验二:单链表的实现
- 大小写的转换
- tensorflow学习(二):命令行参数
- 各种Linux系统 (一句话介绍
- Servlet 转发、包含、重定向对比
- 数学及其英文表达
- 安卓中RecyclerView的简单使用和自定义RecyclerView的接口点击监听事件
- C language : write/read for file
- title与alt的区别