博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
数据结构上机实验:单链表操作
阅读量:5115 次
发布时间:2019-06-13

本文共 2041 字,大约阅读时间需要 6 分钟。

#include 
#include
using namespace std;typedef struct Node{ char c; struct Node *next;}*LinkList,LNode;//初始化单链表hLinkList Init(LinkList &h){ h=(LNode*)malloc(sizeof(LNode)); if(h==NULL) { cout<<"没有足够的内存空间"<
next=NULL; return h;}//尾差法插入元素void InsertNum(LinkList &h,int n){ LinkList r,s; r=h; for(int i=0;i
next=s; cin>>s->c; r=s; } r->next=NULL;}//输出单链表hvoid outputLinkList(LinkList h){ LinkList p=h->next; while(p!=NULL) { cout<
c<<" "; p=p->next; }}//求单链表h的长度int GetLength(LinkList h){ LinkList p; p=h->next; int count=0; while(p!=NULL) { count++; p=p->next; } return count;}//输出单链表的长度void outputListLength(LinkList h){ cout<<"当前链表的长度为: "<
<
next==NULL) cout<<"该链表为空!"<
curLen) { cout<<"位置输入错误!"<
next; for(int i=1;i
next; } cout<<"该链表的第"<
<<"个元素为: "<
c<
next; int position=1; while(p!=NULL) { if(p->c==a) { cout<<"元素"<
<<"在链表中的位置为 :"<
<
next; position++; } if(position-GetLength(h)>1) cout<<"元素"<
<<"在链表中不存在!"<
len) { cout<<"位置错误,不能插入!"<
next; LinkList temp; temp=(LNode*)malloc(sizeof(LNode)); if(n==1) { temp->next=p; h->next=temp; temp->c=a; } else { for(int i=2;i
next; } temp->next=p->next;//3 p->next=temp; temp->c=a; } }}//删除链表的第n个元素void deleteNthNum(LinkList &h,int n){ if(n<=0||n>GetLength(h)) { cout<<"删除位置输入错误!"<
next; } q=p->next; p->next=q->next; free(q); }}//释放链表void freeList(LinkList &h){ free(h);}int main(){ LinkList h; cout<<"欢迎进入单链表操作程序,本程序提供以下操作:"<
>op&&op) { switch(op) { case 2: { int n; cout<<"输入n的值:";cin>>n; cout<<"输入插入的n个数的值:"; InsertNum(h,n); cout<<"插入成功!"<
>n; outputNthNum(h,n);break; } case 6: { char a; cout<<"输入a的值:";cin>>a; outputNumPosition(h,a);break; } case 7: { Empty(h);break; } case 8: { int n;char f; cout<<"输入n的值: ";cin>>n; cout<<"输入f的值: ";cin>>f; InsertNumOnth(h,n,f); cout<<"插入成功!"<
>n; deleteNthNum(h,n); cout<<"删除成功!"<

运行:

 

转载于:https://www.cnblogs.com/vivider/p/3697694.html

你可能感兴趣的文章
关于static继承的问题
查看>>
MAX脚本发送贴图的另外一个方式
查看>>
把Arraylist转换成GameObject[]
查看>>
退出整个Android程序的工具类
查看>>
echarts3.0版本断点连线的处理
查看>>
使用Dom4j对XML文档创建与解析
查看>>
Oracle 数据库逻辑结构.md
查看>>
检测到在集成的托管管道模式下不适用的 ASP.NET 设置。
查看>>
RNTools
查看>>
Java线程的生命周期
查看>>
IIS经典模式与集成模式
查看>>
详细解读MySQL中的权限
查看>>
HDOJ 1698 Just a Hook(线段树成段更新)
查看>>
SQL Server 内存中OLTP内部机制概述(二)
查看>>
Ext.Net学习笔记20:Ext.Net FormPanel 复杂用法
查看>>
php yii框架使用MongoDb
查看>>
cocos2dx中菜单menu 和 menuItem
查看>>
容器List之ArrayList详解
查看>>
C#面向对象三大特性
查看>>
GitHub的实现是否是基于此语言的支持网络编程性呢?
查看>>