#include<stdio.h>
#include<malloc.h>
#define elemType int
//定义数据元素
typedef struct LNode{
elemType data; //数据域
struct LNode *next; //指针域
}LNode,*List;
//头插法创建单链表
List ListHeadInsert(List p){
List s;
int x;
p = (List)malloc(sizeof(LNode)); //创建空结点
p->next = NULL;
printf("请输入数据(以9999结束):\n");
scanf("%d",&x);
while(x!=9999){
s = (List)malloc(sizeof(LNode));
s->data = x;
s->next = p->next;
p->next=s;
scanf("%d",&x);
}
return p;
}
//尾插法创建单链表
List TailInsert(List p ){
//创建头结点
p = (List)malloc(sizeof(LNode));
p->next = NULL;
int x;
printf("请输入数据(以9999结束):\n");
scanf("%d",&x);
List s,t;
t=p;//t 作为尾指针
while(x!=9999){
s = (List)malloc(sizeof(LNode));
s->data = x;
t->next = s;
s->next = NULL;
t=s;
scanf("%d",&x);
}
t->next=NULL;
return p;
}
//按序号查找结点
List Findth(List p,int i){
int cout = 0;
List t=p->next;
int data;
if(i==0)
return p;
while(cout!=i && t){
data = t->data;
t = t->next;
cout++;
}
if(t)
printf("第%d号位上的数据是%d\n",i,data);
else
printf("输入序号有误\n");
return p;
}
//按值查找结点
List FindK(List p,int data){
List t = p->next;
int x = t->data;
int cout = 1;
while(t){
t = t->next;
x = t->data;
cout++;
if(x==data){
break;
}
}
if(t)
printf("%d所对应的序号是%d\n",data,cout);
else
printf("链表中不存在该值\n");
return p;
}
//打印单链表
void PrintList(List p){
List t = p->next;//头结点无数据从第二个结点开始打印 不用p避免修改P的指向
if(!t){
printf("该单链表为空链表");
}
else{
while(t){
printf("%d ",t->data);
t=t->next;
}
}
printf("\n");
}
int main(){
List p ;
p = TailInsert( p );
//p = ListHeadInsert(p);
PrintList(p);
FindK(p,55);
}
按值查找 链表不存在该值 为何无法打印出 不存在语句
- 写回答
- 好问题 0 提建议
- 追加酬金
- 关注问题
- 邀请回答
-
1条回答 默认 最新
- qzjhjxj 2021-09-13 21:11关注
按值查找节点函数修改如下,供参考:
//按值查找结点 List FindK(List p,int data){ List t = p->next; int cout = 0; while(t){ cout++; if(t->data == data) break; t = t->next; } if(t) printf("%d所对应的序号是%d\n",data,cout); else printf("链表中不存在该值\n"); return p; }
本回答被题主选为最佳回答 , 对您是否有帮助呢?解决 1无用
悬赏问题
- ¥15 安卓adb backup备份应用数据失败
- ¥15 eclipse运行项目时遇到的问题
- ¥15 关于#c##的问题:最近需要用CAT工具Trados进行一些开发
- ¥15 南大pa1 小游戏没有界面,并且报了如下错误,尝试过换显卡驱动,但是好像不行
- ¥15 没有证书,nginx怎么反向代理到只能接受https的公网网站
- ¥50 成都蓉城足球俱乐部小程序抢票
- ¥15 yolov7训练自己的数据集
- ¥15 esp8266与51单片机连接问题(标签-单片机|关键词-串口)(相关搜索:51单片机|单片机|测试代码)
- ¥15 电力市场出清matlab yalmip kkt 双层优化问题
- ¥30 ros小车路径规划实现不了,如何解决?(操作系统-ubuntu)