题目描述
建立长度为n的单链表,删除第i个结点之前的结点。

输入
第一行为自然数n,表示链式线性表的长度;
第二行为n个自然数表示链式线性表各元素值;
第三行为指定的删除参数i。

输出
指定删除位置合法时候,输出删除元素后的链式线性表的所有元素,元素之间用一个空格隔开。
输入不合法,输出"error!"。

样例输入
5
1 2 3 4 5
3

样例输出
1 3 4 5

#include<stdio.h>
#include<malloc.h>
#define MaxSize 1000
struct LinkNode
{int data;LinkNode *next;
}*L;
void Create(LinkNode*&L,int a[],int n)//尾插法,教材48页
{LinkNode*s,*r;L=(LinkNode*)malloc(sizeof(LinkNode));r=L;for(int i=0;i<n;i++){s=(LinkNode*)malloc(sizeof(LinkNode));s->data=a[i];r->next=s;r=s;}r->next=NULL;
}
void Delete(LinkNode*&L,int a[],int item)
{item=item-1;//逻辑位置便为实际位置item=item-1//实际位置之前的位置LinkNode*pre=L,*p=L->next;int i=0;while(i<item){pre=p;//pre是前驱p=pre->next;//p为要删除的结点i++;}pre->next=p->next;//从前驱跳过p结点,连接上p结点的下一个结点free(p);//删除p结点
}
int main()
{int n,item,a[MaxSize];scanf("%d",&n);for(int i=0;i<n;i++){scanf("%d",&a[i]);}scanf("%d",&item);if(item<=1||item>n+1){printf("error!");return 0;}LinkNode*L;Create(L,a,n);Delete(L,a,item);L=L->next;while(L!=NULL){printf("%d ",L->data);L=L->next;}
}

953: 单链表的删除操作的实现相关推荐

  1. SWUSTOJ #953 单链表的删除操作的实现

    SWUSTOJ #953 单链表的删除操作的实现 题目 输入 输出 样例输入 样例输出 源代码 题目 建立长度为 n 的单链表,删除第 i 个结点之前的结点. 输入 第一行为自然数 n,表示链式线性表 ...

  2. SWUST OJ 953: 单链表的删除操作的实现

    建立长度为n的单链表,删除第i个结点之前的结点. 第一行为自然数n,表示链式线表的长度: 第二行为n个自然数表示链式线性表各元素值: 第三行为指定的删除参数i. #include <stdio. ...

  3. 西南科技大学OJ题 单链表的删除操作的实现0953

    单链表的删除操作的实现 1000(ms) 65535(kb) 2896 / 13622 建立长度为n的单链表,删除第i个结点之前的结点. 输入 第一行为自然数n,表示链式线性表的长度: 第二行为n个自 ...

  4. 数据结构(单链表的相关操作)

    为什么80%的码农都做不了架构师?>>>    #include <stdio.h> #include <stdlib.h> #define ElemType ...

  5. c语言删除链表中特定元素,单链表的删除某个元素的操作

    昨天我们谈了关于单链表的插入操作,今天我们就来看看与插入操作对应的删除操作. 前面了解了链表的插入,现在删除就简单了,因为是个反过程嘛.还是画个图容易理解一些. 单链表删除第i个数据结点的算法思路: ...

  6. 从无头单链表中删除节点 结构之法 4

    题目: 假设有一个没有头指针的单链表.一个指针指向此单链表中间的一个节点(不是第一个,也不是最后一个节点),请将该节点从单链表中删除. 分析与解答: 假设给定的指针为pCurrent,Node *pN ...

  7. 《大话数据结构》第3章 线性表 3.8.2 单链表的删除

    3.8.2 单链表的删除         现在我们再来看单链表的删除.设存储元素ai的结点为q,要实现将结点q删除单链表的操作,其实就是将它的前继结点的指针绕过,指向它的后继结点即可(如图3-8-5所 ...

  8. java 结构体_Java实现单链表的简单操作

    文章目录 前言 一.基本实现思路 二.代码实现 1.定义结点类2.定义链表类3.测试调用4.结果 总结 前言 用Java实现单链表的简单操作,阅读本文和上一篇文章体会Java中类与C++中结构体指针的 ...

  9. 单链表的实现操作(C语言)

    //单链表的实现操作 #include <stdio.h> #include <malloc.h> #include <stdlib.h> //数据类型定义 typ ...

最新文章

  1. GIT上传服务器同步到web目录
  2. python绘制随机数直方图-python plotly绘制直方图实例详解
  3. 一拍即合、一见钟情之后,智慧城市的“福利”来啦……
  4. linux安装zsh终端
  5. Python - 遍历列表时删除元素的正确做法
  6. 文件/目录权限设置命令:chmod
  7. 银行恒温恒湿监控系统解决方案
  8. 通过拦截器获取控制类requestMapping注解中的属性值
  9. PHP连接MongoDB
  10. 五步完成Spring整合Mybatis的完整示例
  11. 教你玩转CSDN博客
  12. 【Python】QQ大家来找茬辅助
  13. 阿里云设置密钥对登录服务器
  14. 互联网大厂技术岗实习/求职经验分享(实习内推+简历+面试+offer)
  15. 笔记本电脑同时连接有线网络和无线网络时,如何判断实际连接的网络
  16. CFS调度器负载计算
  17. x264码率失真优化曲线的实现
  18. 接收用户输入的用户名和密码,若用户名为 “admin” ,密码为 “123456” ,则提示用户登录成功,否则,让用户一直输入。
  19. Python 学习笔记 列表 range() xxx XXX
  20. 谷歌地图地址地址自动完成框

热门文章

  1. 如何编写无法维护的代码(现实中有的程序员就是这么干的)
  2. 0.HDFS分布式文件系统
  3. 读《系统工程:21世纪的系统方法论》
  4. 制作bat文件的方法
  5. golang微服务框架go-zero系列-1:适合创业的golang微服务框架go-zero + 金光灿灿的gorm V2实践
  6. python+java停车场车位管理系统vue+elementui
  7. 还在用机械式的继电器?要不试下这款光电固态继电器?
  8. 系统引导管理 之 用GRUB(包括WINGRUB)命令行模式引导安装Linux
  9. 通俗理解决策树算法中的信息增益(最朴实的大白话,保准能看懂)
  10. mysql to_base64自动换行_BASE64 官方方法,我自己用的,注意记住换行问题。