单链表某一元素的删除
来源:互联网 发布:淘宝分销商品怎么上架 编辑:程序博客网 时间:2024/05/17 01:47
为啥总是犯十分智障的错误!!!
错误代码:
#include <stdio.h>#include <stdlib.h>//删除元素 typedef struct LNode{ int data; LNode *next;}*List,LNode;void Creat(List &L,int n){//创建链表 List p;//用于循环创建的节点 L=(List)malloc(sizeof(struct LNode)); L->next=NULL; for(int i=1;i<=n;i++){ p=(List)malloc(sizeof(struct LNode)); scanf("%d",&p->data); p->next =L->next; L->next=p; } }//创建成功void Delete(List &L,int e){ List L1,L2;//重新使用一个只用来改变链表结构的指针 L1=L->next;//首先移动 L2=L; int flag=0; while(flag!=1&&L1){ if(L1->data==e){ L1->next=L2->next; free(L1); flag=1; } else{ L2=L2->next; L1=L1->next; } } if(flag==0) printf("失败"); if(flag==1) printf("成功"); }void Print(List L3){ L3=L3->next; while(L3){ printf("%d",L3->data); L3=L3->next; }}int main (){ List L; int n,e; printf("请输入元素的个数以及删除的元素:"); scanf("%d,%d",&n,&e); Creat(L,n); Print(L); Delete(L,e); Print(L); return 0; }
正确代码:
#include <stdio.h>#include <stdlib.h>//删除元素 typedef struct LNode{ int data; LNode *next;}*List,LNode;void Creat(List &L,int n){//创建链表 List p;//用于循环创建的节点 L=(List)malloc(sizeof(struct LNode)); L->next=NULL; for(int i=1;i<=n;i++){ p=(List)malloc(sizeof(struct LNode)); scanf("%d",&p->data); p->next =L->next; L->next=p; } }//创建成功void Delete(List &L,int e){ List L1,L2;//重新使用一个只用来改变链表结构的指针 L1=L->next;//首先移动 L2=L; int flag=0; while(flag!=1&&L1){ if(L1->data==e){ L2->next=L1->next; free(L1); flag=1; } else{ L2=L2->next; L1=L1->next; } } if(flag==0) printf("失败"); if(flag==1) printf("成功"); }void Print(List L3){ L3=L3->next; while(L3){ printf("%d",L3->data); L3=L3->next; }}int main (){ List L; int n,e; printf("请输入元素的个数以及删除的元素:"); scanf("%d,%d",&n,&e); Creat(L,n); Print(L); Delete(L,e); Print(L); return 0; }
错误原因:
L2->next=L1->next;
还是眼高手低,以为像这种简单的没什么问题!!!
阅读全文
0 0
- 单链表某一元素的删除
- C++ vector 删除某一元素
- C++中Vector.erase()删除某一元素的正确用法
- ArrayList删除集合中某一属性相同的元素
- 数据结构 线性表中删除某一元素的程序
- C++中Vector.erase()删除某一元素的正确用法
- LeeCode 删除单链表中的某一特定值元素
- 删除数组中特定的元素或者某一范围的元素
- jquery删除table的某一行元素 删除前confirm确认
- Remove Element(删除数组某一元素)
- 由不能删除数组里面的某一元素而引起的思考
- LeeCode 删除数组中某一特定值的元素,并返回新的数组长度
- 删除链表中和某一个数相同的元素(单向链表)哈理工oj1546
- 迭代器设计模式和Map 遍历删除某一元素
- java Collection集合删除某一元素方法汇总
- jquery easyui 获取某一页签内的某一元素
- 查找某一些你想要的元素
- js 去除数组里的某一元素
- Android源码目录结构
- 解决apache启动错误"httpd:Could not reliably determine..."
- 理解 Android Build 系统
- XSS挑战赛记录
- Azkaban实战,Command类型单一job示例,任务中执行外部shell脚本,Command类型多job工作flow,HDFS操作任务,MapReduce任务,HIVE任务
- 单链表某一元素的删除
- 卷积神经网络
- Windows下使用xShell向远程Linux上传文件或下载文件
- html5新特性
- x-code 创建pch文件,
- Python实例浅谈之五Python守护进程和脚本单例运行
- 数据处理(二)数据聚合
- Angular启动过程介绍
- shell控制结构语句