我是靠谱客的博主 闪闪汽车,最近开发中收集的这篇文章主要介绍单链表的创建,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

语言:C++

创建一个单链表并实现部分功能:

#include <iostream>
using namespace std;
typedef int Elemtype;
typedef struct LNode
{
Elemtype data;
struct LNode *next;
}LNode,*LinkList;
//头插法
void CreateList_H(LinkList &L,int n)
{
LNode *p;int i;
L=new LNode;
L->next=NULL;
for(i=0;i<n;i++)
{p=new LNode;
cin>>p->data;
p->next=L->next;L->next=p;
}
}
//尾插法
void CreateList_R(LinkList &L,int n)
{
LNode *p;int i;
LNode *r;
L=new LNode;
L->next=NULL;
r=L;
for(i=0;i<n;++i)
{
p=new LNode;
cin>>p->data;
p->next=NULL;r->next=p;
r=p;
}
}
//输出整个单链表
void PrintList(LinkList L,int n)
{
LNode *p;
p=L->next;
while(p)
{
cout<<p->data<<' ';
p=p->next;}
}
//找最大值
int MaxList(LinkList L,Elemtype e,int i,int n)
{
LNode *p;
p=L->next;
e=p->data;
while(p->next)
{if((p->next->data)>e)
e=p->next->data;
p=p->next;
}
return e;
}
//主函数
int main()
{
LinkList L;int n;int i;Elemtype e;int max;
cout<<"------------欢迎使用单链表------------"<<endl;
cout<<"[1]创建单链表(头插法)"<<endl;
cout<<"[2]创建单链表(尾插法)"<<endl;
cout<<"[3]输出整个单链表"<<endl;
cout<<"[4]输出链表中最大值"<<endl;
cout<<"--------------------------------------"<<endl;
cout<<"请选择您所需的功能:"<<endl;
int x;
cin>>x;
while(x)
{switch(x){
case 1:
cout<<"请输入要创建链表的长度:"<<endl;
cin>>n;
cout<<"请依次输入存入元素的值:"<<endl;
CreateList_H(L,n);
cout<<"创建成功!"<<endl;
break;
case 2:
cout<<"请输入要创建链表的长度:"<<endl;
cin>>n;
cout<<"请依次输入存入元素的值:"<<endl;
CreateList_R(L,n);
cout<<"创建成功!"<<endl;
break;
case 3:
cout<<"单链表为:";
PrintList(L,n);
cout<<endl;
break;
case 4:
max=MaxList(L,e,i,n);
cout<<"最大值为:"<<max<<endl;
break;
}
cout<<"请选择您所需的功能:"<<endl;
cin>>x;
}
return 0;
}

 

最后

以上就是闪闪汽车为你收集整理的单链表的创建的全部内容,希望文章能够帮你解决单链表的创建所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(54)

评论列表共有 0 条评论

立即
投稿
返回
顶部