单链表的删除操作的实现

  1. #include <stdio.h>
  2. #include <stdlib.h>
  3.  
  4. typedef struct LinkNode //单链表节点结构的定义
  5. {
  6. int data;
  7. struct LinkNode *next;
  8. }LinkNode;
  9.  
  10. void InitLinkList(LinkNode * &L)
  11. {
  12. /*单链表的初始化*/
  13. L = (LinkNode*)malloc(sizeof(LinkNode));
  14. L->next = NULL;
  15. }
  16.  
  17. void CreateLinkList(LinkNode *&L, int n,int *num)
  18. {
  19. /*采用尾插法创建单链表*/
  20. LinkNode* r = L;
  21. for (int i = ; i < n; ++i)
  22. {
  23. LinkNode * p =(LinkNode*)malloc(sizeof(LinkNode));
  24. p->data = num[i];
  25. p->next = r->next;
  26. r->next = p;
  27. r = p;
  28. }
  29. }
  30.  
  31. void DisList(LinkNode *L)
  32. {
  33. /*单链表的输出*/
  34. LinkNode *l = L->next;
  35. while(l)
  36. {
  37. printf("%d ",l->data);
  38. l = l->next;
  39. }
  40. }
  41.  
  42. void DelLinkList(LinkNode *&L, int p)
  43. {
  44. /*删除指定参数所代表的节点*/
  45. LinkNode *a = L;
  46. LinkNode *b;
  47. for(int i=;i<p-;i++)
  48. {
  49. a = a->next;
  50. }
  51. b = a->next;
  52. a->next = a->next->next;
  53. free(b);
  54. }
  55.  
  56. int main(int argc, char const *argv[])
  57. {
  58. /*int n = 5;
  59. int num[]={1,2,3,4,5};*/
  60. int n, p;
  61. int *num;
  62.  
  63. scanf("%d",&n);
  64. num =(int*)malloc(n*sizeof(int));
  65.  
  66. for (int i = ; i < n; ++i)
  67. {
  68. scanf("%d",&num[i]);
  69. }
  70.  
  71. scanf("%d",&p);
  72.  
  73. /*判断输入值是否合法*/
  74. if(p > n || p < )
  75. {
  76. printf("error!");
  77. return ;
  78. }
  79.  
  80. LinkNode *L;
  81. InitLinkList(L);
  82. CreateLinkList(L,n,num);
  83. DelLinkList(L,p);
  84. DisList(L);
  85. return ;
  86. }

SWUST OJ(953)的更多相关文章

  1. [Swust OJ 404]--最小代价树(动态规划)

    题目链接:http://acm.swust.edu.cn/problem/code/745255/ Time limit(ms): 1000 Memory limit(kb): 65535   Des ...

  2. [Swust OJ 649]--NBA Finals(dp,后台略(hen)坑)

    题目链接:http://acm.swust.edu.cn/problem/649/ Time limit(ms): 1000 Memory limit(kb): 65535 Consider two ...

  3. SWUST OJ NBA Finals(0649)

    NBA Finals(0649) Time limit(ms): 1000 Memory limit(kb): 65535 Submission: 404 Accepted: 128   Descri ...

  4. [Swust OJ 1023]--Escape(带点其他状态的BFS)

    解题思路:http://acm.swust.edu.cn/problem/1023/ Time limit(ms): 5000 Memory limit(kb): 65535     Descript ...

  5. [Swust OJ 1125]--又见GCD(数论,素数表存贮因子)

    题目链接:http://acm.swust.edu.cn/problem/1125/ Time limit(ms): 1000 Memory limit(kb): 65535   Descriptio ...

  6. [Swust OJ 1126]--神奇的矩阵(BFS,预处理,打表)

    题目链接:http://acm.swust.edu.cn/problem/1126/ Time limit(ms): 1000 Memory limit(kb): 65535 上一周里,患有XX症的哈 ...

  7. [Swust OJ 1026]--Egg pain's hzf

      题目链接:http://acm.swust.edu.cn/problem/1026/     Time limit(ms): 3000 Memory limit(kb): 65535   hzf ...

  8. [Swust OJ 1139]--Coin-row problem

    题目链接:  http://acm.swust.edu.cn/contest/0226/problem/1139/ There is a row of n coins whose values are ...

  9. [Swust OJ 385]--自动写诗

    题目链接:http://acm.swust.edu.cn/problem/0385/ Time limit(ms): 5000 Memory limit(kb): 65535    Descripti ...

随机推荐

  1. oracle 之 包,包体创建和使用案例

    先创建包,再创建包体---------------创建包体--------------------- create or replace package body pkg_yygl_service I ...

  2. 深度学习课程笔记(十)Q-learning (Continuous Action)

    深度学习课程笔记(十)Q-learning (Continuous Action) 2018-07-10 22:40:28 reference:https://www.youtube.com/watc ...

  3. Redis 应用:缓存

    使用Redis做预定库存缓存功能 缓存是在业务层做的,准确讲应该是在MVC模型中Model的ORM里面 PHP项目的缓存从以前的APC缓存逐渐切换到Redis中,并且根据Redis所支持的数据结构做了 ...

  4. java中Properties类及读取properties中属性值

    本文为博主原创,未经允许不得转载: 在项目的应用中,经常将一些配置放入properties文件中,在代码应用中读取properties文件,就需要专门的类Properties类,通过这个类可以进行读取 ...

  5. 【Python】【有趣的模块】【Requests】无状态 & 无连接

    无状态:原来的Web是静态,后来换成动态的就需要保存一些上下文信息,session和cookie应运而生 无连接:原来为了请求结束后赶紧把资源让出去,后来发现每次请求中有相同的小请求时候再重复执行(而 ...

  6. Intellij idea创建maven项目并配置tomcat

    今天刷知乎的时候刷到这么一句话 我觉得还是蛮有趣的,形容的也比较到位,正好最近新建maven项目进行了thrift数据的传输,在此做一个记录 首先idea整合了maven,不需要单独下载 新建一个Pr ...

  7. java 四种线程池的异同

    四种线程池的区别仅仅在于executors让threadpoolexecutor的构造器的参数不同,即核心线程池数,最大线程池数等不同.但是其他的,例如终止线程池等都是一样的

  8. [原][源码][tinyxml][opencv]按照规格剪切所有的图片

    源码: #include <iostream> #include <fstream> #include <opencv2/core/core.hpp> #inclu ...

  9. 7 个最佳的 Java 框架

    毫无疑问,Java是目前最需要的编程语言之一.在这里,我们已经挖掘了一些关于框架趋势的有用信息,以减轻全球软件开发人员的日常工作. 根据RebelLabs,也是在线Java用户组(虚拟JUG)的媒体盟 ...

  10. 主动触发事件 自定义事件 trigger 及其用法

    1. 触发自定义事件方式 js.jq 2. jq 触发 2.1 默认支持的事件 $('#h').on('click',function(){ $(this).append('<p>p< ...