永发信息网

谁能给我个c++ 单链表实现程序

答案:1  悬赏:30  手机版
解决时间 2021-05-20 01:17
要求实现,并且给出程序,用头文件和cpp文件实现
最佳答案

#include<stdio.h>
#include<malloc.h>
typedef char ElemType;
typedef struct LNode
{
ElemType data;
struct LNode *next;
}LNode,*LinkList;

int ListInsert_L(LinkList head,int i,ElemType e)
{
LinkList p=head;
LinkList s;
int j;
p=p->next;
for(j=1;j<i;j++)
{
if(p) p=p->next;
else
break;
}
if(!p || i<1)
{
printf("error!!请输入正确的i值!!\n");
return 0;
}
s=(LinkList) malloc(sizeof(LNode));
s->data=e;
s->next=p->next;
p->next=s;
return 1;
}

LinkList CreateList_L(LinkList head)
{
ElemType temp;
LinkList p;
printf("请输入结点值(输入0结束):");
fflush(stdin);
scanf("%c",&temp);
while(temp!='0')
{
if(('A'<=temp && temp<='Z') || ('a'<=temp&&temp<='z'))
{
p=(LinkList)malloc(sizeof(LNode));
p->data=temp;
p->next=head->next;
head->next=p;
}
printf("请输入节点值(输入0结束):");
fflush(stdin);
scanf("%c",&temp);
}
return head;
}

int ListDel_L(LinkList head,int i)
{
LinkList p,tmp;
int j;
p=head->next;
tmp=head;
for(j=1;j<i;j++)
{
if(p)
{
p=p->next;
tmp=tmp->next;
}
else break;
}
if(!p || i<1)
{
printf("error!请输入正确的值!\n");
return 0;
}
tmp->next=p->next;
free(p);
return 1;
}



void ListPint_L(LinkList head)
{
LinkList p;
int i=0;
p=head->next;
while(p!=NULL)
{
i++;
printf("第%d个元素是:",i);
printf("%c\n",p->data);
p=p->next;
}
}


void main()
{
int i;
char cmd,e;
LinkList head;
head=(LinkList)malloc(sizeof(LNode));
head->next=NULL;
CreateList_L(head);
ListPint_L(head);
do
{
printf("i,I......插入\n");
printf("d,D......删除\n");
printf("q,Q......退出\n");
do
{
fflush(stdin);
scanf("%c",&cmd);
}while((cmd!='d') && (cmd!='D') && (cmd!='q') && (cmd!='Q') && (cmd!='i') && (cmd!='I'));
switch(cmd)
{
case 'i':
case 'I':
printf("请输入你要插入的数据:");
fflush(stdin);
scanf("%c",&e);
printf("请输入你要插入的位置:");
scanf("%d",&i);
ListInsert_L(head,i,e);
ListPrint_L(head);
break;
case 'd':
case 'D':
printf("请输入你要删除的元素的位置:");
fflush(stdin);
scanf("%d",&i);
ListDel_L(head,i);
ListPint_L(head);
break;
}
}while((cmd!='q') && (cmd!='Q'));
}


我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
尤里复仇打开后黑屏
爱情古风句子,古风类的诗歌,有关爱情,初恋
黑执事刘的那段话的含义
网站后台的病毒入侵问题?
我进入游戏大厅想玩象棋游戏,为何不能玩
为什么我辛辛苦苦的走来,还是我一个人?
这个C语句输出什么
形容十分着急的歇后语,表示着急的歇后语
把电脑上的文件通过蓝牙发送到手机上
想喂养宠物谁愿意送我?
怎么做炒鸡蛋,什么时候放葱啊
实况10怎么造任意球机会?
徐霞客游记的名句,徐霞客描写武夷山名句
不怕困难自勉的古诗词,求自勉的经典句子!
《非诚勿扰》男嘉宾出场时的音乐叫什么名?
推荐资讯
想买个手机不知道买什么 合适我
有为同学做好临时装片后放到显微镜下观察,却
信乐团最近新成员
表达自己很酷的句子,求一些很酷的日语句子
鸿辉通讯地址在什么地方,想过去办事
有关上海大虹桥商圈的开发
看老人买什么东西好,对于牙齿不好的中老年人
时光时光慢些吧,什么歌
给小学生的作业评语,小学家庭作业评语家长怎
哎咿呀是什么歌,有一首歌词里有哎咿呀咿是什
求问二氮化三镁和水反应为什么不生成一水合氨
星际穿越台词,想问一下星际穿越安妮海瑟薇bra
正方形一边上任一点到这个正方形两条对角线的
阴历怎么看 ?