永发信息网

数据结构方面的书

答案:2  悬赏:60  手机版
解决时间 2021-05-08 16:47
请各位推jian一下,那种版本的数据结构容易懂,不用讲的太深的,只要看完后,能够写关于链表方面的东东就OK了;
最佳答案

链表一般相对简单的就是线性表。代表之作就是二叉树和堆栈。代表性题就是对链表做操作性的插入和删除!


谭浩强的数据结构(C语言版)很典型的讲解链表哈!


我这里书我以前写的一个对链表进行的插入和删除代码!!


可以参考下!写的也不是很漂亮!但是功能是没有问题的!


#include<stdio.h>
#include<malloc.h>
typedef struct bocai
{
int num;
struct bocai *next;
}stu;
int top()
{
printf("\n---------潇洒菠菜:最最可爱----------\n");
printf("\t1.对链表进行插入操作;\n");
printf("\t2.对链表进行删除操作;\n");
printf("\t3.显示当前链表;\n");
printf("\t4.退出程序;\n");
}


void insertValue(stu *head){
int k=1,i,x;
stu *p1,*p2;
p1=head->next;
printf("\n你要插入的位置:");
scanf("%d",&i);
i--;
while(p1!=NULL&&k<i)
{
p1=p1->next;
k++;
}
if(i>k||p1==NULL)
{
printf("\n潇洒菠菜提示:插入位置错误\n");
}else{
printf("你要插入的值:");
scanf("%d",&x);
p2=(stu *)malloc(sizeof(stu));
p2->num=x;
p2->next=NULL;
if(i==0)
{
p2->next=head->next;
head->next=p2;
}else{
p2->next=p1->next;
p1->next=p2;
}
printf("\n潇洒菠菜提示:插入成功!\n");
display(head);
}
top();
}
void deleteValue(stu *head)
{
stu *p3;
int k=1,i;
p3=head->next;
printf("\n请输入删除位置:");
scanf("%d",&i);
i--;
while(p3!=NULL&&k<i)
{
p3=p3->next;
k++;
}

if(i>k||p3==NULL||p3->next==NULL)
{
printf("\n潇洒菠菜提示:删除的位置错误\n");
}else{
if(i==0){
head->next=head->next->next;
}else{
p3->next=p3->next->next;
}
printf("潇洒菠菜提示:删除成功!\n");
}
top();
}


int display(stu *head)
{
stu *p;
printf("\n现链表如下:\n");
p=head->next;
while(p!=NULL)
{
printf("%d\n",p->num);
p=p->next;
}
}
int main()
{
char a;
stu *p,*head;
p=(stu *)malloc(sizeof(stu));
head=(stu *)malloc(sizeof(stu));
p->num=25;
p->next=NULL;
head->next=p;
p=(stu *)malloc(sizeof(stu));
p->num=38;
p->next=NULL;
head->next->next=p;
p=(stu *)malloc(sizeof(stu));
p->num=500;
p->next=NULL;
head->next->next->next=p;

top();

display(head);

while(1)
{
fflush(stdin);
printf("\n请输入选项:");
scanf("%c",&a);
fflush(stdin);
switch(a)
{
case '1':
insertValue(head);
break;
case '2':
deleteValue(head);
break;
case '3':
display(head);
break;
case '4':
printf("\n\t\t潇洒菠菜提示:再会...");
break;
default:
printf("\n你输入的选项有误!\n");
break;
}
if(a=='4') break;
}
scanf("%c",&a);
printf("\n");
}

全部回答
简单点的就是数据结构C语言描述的版本,C语言描述的比较简单,难点的是C++或其他语言描述的
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
为什么我刚买的恒宝48605今天车子开到低压为
两个钟内吃了四斤苹果,五斤香蕉,会不会胖啊
阿呆与阿瓜台词,炼金术士的英雄台词
上那能租到和我过七夕的人?
大学生创业中心怎么去啊,有知道地址的么
如何撤销问问的满意答案?
哪有可以下载的兔斯基皮肤?
高中是否该谈恋爱
怎么注销炫舞?
遇到这种事情该怎么处理
卖运动鞋应该注意什么,避免什么
关于秋天的爱情句子,关于秋天爱情的句子
广州市几月份穿绵衣服
农历1990年5月15日的我爱情将如何
去长春买高尔夫好吗?
推荐资讯
DNF我想重新练个号
做B超对宝宝影响大吗?
农场什么作物24小时成熟?
宏达建材我想知道这个在什么地方
春,是白居易笔下的“野火烧不尽,春风吹又生
诺基亚:N70.N92.N53的价格大概是多少?
爱能持续多久
男生的非亲属关系的姐姐叫他猪,正常么?
咋样开发游戏?
头晕 不是晕头转向的晕
沈北新区中心医院生孩子多少钱
为什么我的电脑下空间克隆安装好了却打不开,
正方形一边上任一点到这个正方形两条对角线的
阴历怎么看 ?