博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
数据结构中的单链表上机代码
阅读量:6789 次
发布时间:2019-06-26

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

数据结构是那种离开书就不会写代码的情况,求大佬教方法如何解决这种情况

#include<stdio.h>

#include<stdlib.h>

typedef int DataType;

typedef struct node{
DataType data;
struct node *link;
}LinkNode,*LinkList;
void printList(LinkNode*first){
if(first==NULL) return;
printf("%d\n",first->data);
printList(first->link);
} ;
//用尾插法插入单链表
void creatListRear(LinkList&last,DataType endTag){
DataType val;
printf("请输入结点元素:");
scanf("%d",&val);
if(val==endTag){
last = NULL;
}else{
last=(LinkNode*)malloc(sizeof(LinkList));//创建新结点
if(!last){
printf("储存分配错误!\n"); exit(1);
}
last->data=val;
creatListRear(last->link,endTag);//递归创建后续链表
}
}
//长度
int Length(LinkList&first){
LinkNode*p=first->link;
}
//输入一个元素X查找序号
LinkNode*Search1(LinkList &first,DataType x){
LinkNode *p = first->link;
int c=1;
while(p!=NULL&&p->data!=x){
p=p->link;
c++;
}
printf("对应的逻辑序号为:%d\n",c);
}
//输入一个序号查找元素X
LinkNode*Search2(LinkList &first,DataType i){
LinkNode*p=first->link;
int b=1;
while(p!=NULL&b<i){
p=p->link;
b++;
}
printf("对应的data值为:%d\n",p->data);
}

main(){
int i;
int x;
LinkList L; DataType endTag;
printf("请输入约定结点为:");
scanf("%d",&endTag); //输入约定的结束标志
L=(LinkNode*) malloc (sizeof (LinkList));
if(!L){
printf("存储分配错误!\n");
exit(1);
}
LinkNode *rear=L;
creatListRear(rear->link,endTag);
printList(L->link);
Length(L);
printf("请任意输入一个数值x:");
scanf("%d",&x);
Search1(L,x);
printf("请任意输入一个序号:");
scanf("%d",&i);
Search2(L,i);
}

转载于:https://www.cnblogs.com/lvzhiqi/p/10726950.html

你可能感兴趣的文章
TYVJ P1045 &&洛谷 1388 最大的算式 Label:dp
查看>>
10+31=100小组项目第五周总结报告
查看>>
Python 爬取高清桌面壁纸
查看>>
测试-html格式
查看>>
选择排序
查看>>
安装nginx&&node环境nginx转发端口
查看>>
Java知多少(7)类与对象
查看>>
评论递归无极显示
查看>>
用学习逃避成长,听新知缓解焦虑
查看>>
selenium 如何处理table
查看>>
从流程浅析网站性能优化点
查看>>
Java笔试题库之选题题篇【71-140题】
查看>>
spring的依赖注入(DI)、控制反转(IOC)和面向切面(AOP)
查看>>
Web前端面试宝典(最新)
查看>>
@font-face字图标问题
查看>>
python-week1-postman+jemter-soapUI
查看>>
POJ 3349 Snowflake Snow Snowflakes 暴力
查看>>
LoadRunner性能测试入门教程
查看>>
Java I/O Properties的使用 存取配置文件
查看>>
关于开源的一点看法
查看>>