c++数据结构学生管理系统Word文件下载.docx

上传人:b****2 文档编号:15167145 上传时间:2022-10-28 格式:DOCX 页数:28 大小:487.38KB
下载 相关 举报
c++数据结构学生管理系统Word文件下载.docx_第1页
第1页 / 共28页
c++数据结构学生管理系统Word文件下载.docx_第2页
第2页 / 共28页
c++数据结构学生管理系统Word文件下载.docx_第3页
第3页 / 共28页
c++数据结构学生管理系统Word文件下载.docx_第4页
第4页 / 共28页
c++数据结构学生管理系统Word文件下载.docx_第5页
第5页 / 共28页
点击查看更多>>
下载资源
资源描述

c++数据结构学生管理系统Word文件下载.docx

《c++数据结构学生管理系统Word文件下载.docx》由会员分享,可在线阅读,更多相关《c++数据结构学生管理系统Word文件下载.docx(28页珍藏版)》请在冰豆网上搜索。

c++数据结构学生管理系统Word文件下载.docx

strsex);

voidSetBrith(string&

strbrith);

voidSetID(string&

strID);

voidSetMajor(string&

strmajor);

voidEditPerson();

booloperator!

=(Student&

stu);

booloperator>

(Student&

friendostream&

operator<

<

(ostream&

ost,Student&

friendifstream&

operator>

>

(ifstream&

friendofstream&

(ofstream&

stringGetName();

2、核心代码

ostream&

stu)

{

ost<

"

Name"

stu.name<

endl;

Sex"

stu.sex<

Brithday"

stu.brithday<

ID"

stu.ID<

Major"

stu.major<

returnost;

}

3、测试代码

Case’a’:

case'

b'

:

system("

cls"

);

list.PrintLinkList();

cout<

请输入选择(帮助选项-->

h):

"

break;

cout<

当前链表的长度为:

length=list.ListLength();

c'

d'

system("

现有学生的名字:

list.DisplayName();

请输入学生的姓名"

cin>

name;

stu.SetName(name);

delstu=list.Find(stu);

delstu;

delstu=list.Find(stu);

3、源代码

f'

g'

list.Sort();

list.PrintLinkList();

LinkList.h

#ifndefLinkList_H

#defineLinkList_H

#include<

windows.h>

#include<

fstream>

usingnamespacestd;

template<

classT>

structNode

Tdata;

//元素自身的信息,数据域

Node<

T>

*next;

//后继元素存储地址,地址域

};

classLinkList

*head;

//单链表的头指针

public:

LinkList();

LinkList(Ta[],intn);

voidSetLinList(Ta[],intn);

~LinkList();

intListLength();

//求链表的长度

TGet(intpos);

//按位查找,取单链表中第POS个节点的元素值

TFind(Titem);

//查找函数,以T类型的数据作为参数

intLocate(Titem);

//按值查找,求单链表中值为item的元素的序号

voidPrintLinkList();

voidInsert(inti,Titem);

//在i的位置插入元素item

TDelete(inti);

//在单链表中删除第i个节点,并返回这个值

voidInvert();

//逆置函数

friendvoidMerge(LinkList<

&

L1,LinkList<

L2);

//归并链表

voidDisplayNode(inti);

voidSave(charfname[]);

//保存

voidOpen(charfname[]);

voidDisplayName();

//显示名字

voidSort();

//排序

#endif

LinkList.cpp

#include"

LinkList.h"

//用于创建一个带有头结点的空链表

LinkList<

LinkList()

head=newNode<

;

//私有

head->

next=NULL;

/*

用于创建一个带有头结点的空链表

*/

LinkList(Ta[],intn)//尾插法

*rear;

rear=head;

//指向当前单链表的最后一个节点

for(inti=0;

i<

n;

i++)

{

Node<

*s;

s=newNode<

s->

data=a[i];

rear->

next=s;

//rear=head

rear=s;

//rear一直是指向单链表的最后一项

}

rear->

//单链表创建结束,最后一个节点的指针置为空

voidLinkList<

SetLinList(Ta[],intn)

*rear=head;

intLinkList<

ListLength()

intnum=0;

*p;

p=head->

next;

while(p)

p=p->

num++;

returnnum;

TLinkList<

Get(intpos)

intj=1;

//p指向头结点的下一个节点

while(p&

&

j<

pos)

j++;

if(!

p||j>

cout<

查找位置非法"

exit

(1);

else

returnp->

data;

Find(Titem)

p->

data!

=item)

p)

Locate(Titem)

if(p)

returnj;

return0;

PrintLinkList()

data<

Insert(inti,Titem)

p=head;

intj=0;

i-1)

cerr<

插入位置非法"

*s=newNode<

data=item;

next=p->

p->

Delete(inti)

*p,*q;

Tx;

p||!

next)

位置非法"

q=p->

x=q->

next=q->

deleteq;

returnx;

/*利用头插法*/

Invert()

//将逆置后的单链表初始化为空表

while(p!

=NULL)

Node

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 考试认证 > IT认证

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1