单链表的删除操作的实现

 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 = 0; 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=0;i<p-2;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 = 0; i < n; ++i)
67     {
68         scanf("%d",&num[i]);
69     }
70
71     scanf("%d",&p);
72
73     /*判断输入值是否合法*/
74     if(p > n || p < 2)
75     {
76         printf("error!");
77         return 0;
78     }
79
80     LinkNode *L;
81     InitLinkList(L);
82     CreateLinkList(L,n,num);
83     DelLinkList(L,p);
84     DisList(L);
85     return 0;
86 }

转载于:https://www.cnblogs.com/Ghost4C-QH/p/10491678.html

SWUST OJ(953)相关推荐

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

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

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

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

  3. SWUST OJ 954单链表的链接

    swust oj 954 题目描述 建立长度为n的单链表A和长度为m的单链表B.编程实现将B表链接在A表的尾端,形成一个单链表A.数据类型指定为字符型. 输入 输出 样例输入 样例输出 源代码 #in ...

  4. swust oj#160促销计算

    SWUST OJ#160 题目描述 某百货公司为了促销,采用购物打折的优惠方法,每位顾客一次购物:在1000元以上者,按9.5折优惠:在2000以上者,按9折优惠:在3000以上者,按8.5折优惠:在 ...

  5. SWUST OJ 1168 喝可乐

    swust oj 1168 题目描述 小明十分喜欢喝可乐,有一次店家搞促销,用三个可乐瓶盖便可换一瓶新可乐.现在告诉你小明身上的钱和 每瓶可乐的单价,问你小明最多可以喝多少瓶可乐?(不能向老板借瓶盖) ...

  6. swust oj代码+解析_1165,0284,0074,0042,1171,0026,0189,0078,0046,0077,0209,0129

    swust oj 1165,0284(int a[n]\数字根),0074,0042,1171(矩阵相乘 输出对齐),0026/0189,0078(计算生日是星期几),0046,0077(计算员工周工 ...

  7. SWUST OJ#281逃跑的蠕虫

    swust oj 281 题目描述 装在瓶子(瓶子高度为h)的蠕虫都想从瓶子底部向瓶口处爬出去.它每分钟向上爬行u厘米,之后会休息一分钟,这一分钟它会向下滑行d厘米,当蠕虫到了瓶口或者超出瓶口后便出了 ...

  8. SWUST OJ#978 #979 #980 二叉树的遍历

    目录 深度优先遍历 输出利用先序遍历创建的二叉树的前序遍历序列 思路 代码 #978 输出利用先序遍历创建的二叉树的中序遍历序列 题目 思路 代码 #979 输出利用先序遍历创建的二叉树的后序遍历序列 ...

  9. SWUST OJ 1159 吃披萨

    swust oj 1159 题目描述 小明楼下新开了两家披萨店,价格都一样,不同的是A家披萨店的披萨是圆形,B家披萨店的披萨是三角形.为了知道 哪家披萨店的披萨面积更大一些,于是就找到你咯,你来帮帮他 ...

  10. c语言swustoj括号匹配问题,swust oj 962

    括号匹配问题 1000(ms) 65535(kb) 3045 / 13375 假设表达式中允许包含两种括号:圆括号和方括号.编写一个算法判断表达式中的括号是否正确配对. 输入 由括号构成的字符串,包含 ...

最新文章

  1. gram矩阵的性质_线性代数(十五)标准正交基(Orthonormal Bases)和Gram-Schmidt正交化...
  2. 应用MVP模式写出可维护的优美Android应用
  3. ssm框架下文件上传
  4. sqlserver 批量处理数据
  5. 付出与收获对等的自然法则,执行力离开去做马上去做
  6. Sql Decimal类型 运算结果的精度和小数位数
  7. SpringBoot+Redis+Cookies实现高并发的购物车
  8. 显示部分x_i5 9400F+GTX 1030+23.8英寸,攀升迁跃者X上手简评
  9. mysql5.7 备份恢复_RDS for MySQL 5.7 备份恢复为本地实例-阿里云开发者社区
  10. 如何在Angular中引入AliPlayer
  11. leetcode总结无止境系列之链表
  12. css的盒子模型与定位机制解读随记
  13. 我的游戏学习日志3——三国志GBA
  14. 怎么把pdf格式转成word文档?如何将 PDF 转换为 Word
  15. Word中的字体大小(几号-几磅)【转】
  16. windows在此计算机上找不到系统映象,笔记本电脑没有系统映像怎么办
  17. 统计_偏态、峰值(Datawhale概率统计温习2)
  18. Channel的定义、写入、读取、关闭与遍历
  19. PowerPoint2007界面元素推荐
  20. 自己搭建网红直播带货平台源码该怎么做

热门文章

  1. TCP\IP协议实践:wireshark抓包分析之链路层与网络层
  2. 求助:使用foreach函数获取到后台数据时未在表格上渲染的问题
  3. CUDNN学习笔记(2)
  4. 《Nmap渗透测试指南》—第7章7.10节扫描Web漏洞
  5. Scala 循环(打断嵌套循环)
  6. Session 的生命周期
  7. [置顶]       ibatis框架----控制台输出SQL语句
  8. JavaScript(3):基础部分之异常处理
  9. mysql base64的编码与解码
  10. Linux命令行解析参数之getopt_long