#include<iostream>
using namespace std;
template <class T>
class list
{
public:
struct Node //定义结构体;
{
T Data;
Node* next;
};
list() //构造函数;
{
head = NULL;
}
void ADD(T aData,T bData); //在aData的前面插入数据bData;
void PrintList(); //输出元素;
private:
Node* head;
};
template<class T>
void list<T>::ADD(T aData,T bData) //设aData是结点a中的数据,bData是结点b中的数据
{
Node *p,*q,*s; //p指向结点a,q指向结点a_k,s指向结点b
s = (Node*)new(Node); //动态分配一个新结点
s->Data = bData; //设b为此结点
p = head;
if(head == NULL) //若是空表,使b作为第一个结点
{
head = s;
s->next = NULL;
}
else if(p->Data == aData) //若a是第一个结点
{
s->next=p;
head = s;
}
else
{
while(p->Data != aData && p->next != NULL)//查找结点a
{
q = p;
p = p->next;
}
if(p->Data == aData) //若有结点a
{
q->next = s;
s->next = p;
}
else //若没有结点a;
{
p->next = s;
s->next = NULL;
}
}
}
template<class T>
void list<T>::PrintList(void)
{
Node *s = head;
while(s != NULL)
{
cout<<s->Data;
s = s->next;
}
cout<<endl;
}
void main(void)
{
//整型
cout<<"整型"<<endl;
list <int>A;
int Data[10]={25,41,16,98,5,67,9,55,1,121};
A.ADD(0,Data[0]); //建立链表A首结点
for(int i=1;i<10;i++)
A.ADD(0,Data[i]); //顺序往后插入
cout<<"链表A:"<<endl;
A.PrintList(); //显示A中元素;
//字符型
cout<<"字符型"<<endl;list <char>B;
char Datac[10]="hello!";
B.ADD(0,Datac[0]); //建立链表A首结点
for(int i=1;i<10;i++)
B.ADD(0,Datac[i]); //顺序往后插入
cout<<"链表B:"<<endl;
B.PrintList(); //显示A中元素;
//浮点型
cout<<"浮点型"<<endl;
list <double>C;
double Dataf[10] = {1.1,2.22,3.33,4.44,5.5,6.66,7.7,8.88,9.9,10.10};
C.ADD(0,Dataf[0]); //建立链表A首结点
for(int i=1;i<10;i++)
C.ADD(0,Dataf[i]); //顺序往后插入
cout<<"链表C:"<<endl;
C.PrintList(); //显示A中元素;
system("pause");
}
lianbiao.rar_visual c
版权申诉
21 浏览量
2022-09-19
15:13:09
上传
评论
收藏 1016B RAR 举报
御道御小黑
- 粉丝: 61
- 资源: 1万+
最新资源
- ISOSAE21434.D1-2020SAE美国汽车标准
- 奥比中光RGBD在JETSON ORIN NX的ROS程序
- SerialNumberUtil.java
- autojspro写的木鱼小软件,模拟木鱼的敲击声,提供源代码
- 修改windows服务器远程桌面端口批处理
- 黑马Java八股文面试题视频教程,Java面试八股文宝典(含阿里、腾迅大厂java面试真题,java数据结构,java并发
- java调用科大讯飞在线语音合成API -完整代码
- Python爬虫基础知识.zip
- Java八股文和面试项目介绍-春招秋招校招社招
- 其他类别JSP网页HTML编辑器 v1.0 beat-jsphtmleditor.7z
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈