TZOJ 5347: 数据结构实验:删除链表元素
描述
完成链表的创建、元素查找和删除等操作。
部分代码已经给出,请补充完整,提交时请勿包含已经给出的代码。
void PrintLinkList(Node *head)
{
int flag = 0;
Node *p = head->next, *q;
while(p)
{
if(flag)
printf(" ");
flag = 1;
printf("%d", p->data);
q = p;
p = p->next;
free(q);
}
free(head);
} int main()
{
int n, x;
scanf("%d", &n);
Node *head = CreateLinkList(n);
scanf("%d", &x);
Node *p = Find(head, x);
Delete(p);
PrintLinkList(head);
return 0;
}
输入
输入数据第一行为n,表示链表元素个数,第二行为n个整数,表示节点元素值(所有元素值不相等)。
第三行为删除的元素值,一定存在于链表中。
输出
输出删除后的链表元素,每个元素值之间用一个空格隔开。
样例输入
5
1 2 3 4 5
3
样例输出
1 2 4 5
#include <stdio.h>
#include <stdlib.h>
#include <malloc.h>
typedef struct Node{
int data;
struct Node *next;
}Node;
Node* CreateLinkList(int n)
{
Node *head,*p;
head=(Node*)malloc(sizeof(Node));
head->next=NULL;
p=head;
while(n--)
{
int a;
scanf("%d",&a);
p->next=(Node*)malloc(sizeof(Node));
p=p->next;
p->data=a;
p->next=NULL;
}
return head;
}
Node* Find(Node *head,int n)
{
Node *p;
p=head;
while(p->next->data!=n)
{
p=p->next;
}
return p;
}
void Delete(Node *p)
{
Node *q;
q=(Node*)malloc(sizeof(Node));
q->next=(Node*)malloc(sizeof(Node));
q=p->next;
p->next=q->next;
free(q);
}
void PrintLinkList(Node *head)
{
int flag = ;
Node *p = head->next, *q;
while(p)
{
if(flag)
printf(" ");
flag = ;
printf("%d", p->data);
q = p;
p = p->next;
free(q);
}
free(head);
} int main()
{
int n, x;
scanf("%d", &n);
Node *head = CreateLinkList(n);
scanf("%d", &x);
Node *p = Find(head, x);
Delete(p);
PrintLinkList(head);
return ;
}
TZOJ 5347: 数据结构实验:删除链表元素的更多相关文章
- SDUT OJ 数据结构实验之链表七:单链表中重复元素的删除
数据结构实验之链表七:单链表中重复元素的删除 Time Limit: 1000 ms Memory Limit: 65536 KiB Submit Statistic Discuss Problem ...
- SDUT-2122_数据结构实验之链表七:单链表中重复元素的删除
数据结构实验之链表七:单链表中重复元素的删除 Time Limit: 1000 ms Memory Limit: 65536 KiB Problem Description 按照数据输入的相反顺序(逆 ...
- SDUT OJ 数据结构实验之链表五:单链表的拆分
数据结构实验之链表五:单链表的拆分 Time Limit: 1000 ms Memory Limit: 65536 KiB Submit Statistic Discuss Problem Descr ...
- SDUT-2120_数据结构实验之链表五:单链表的拆分
数据结构实验之链表五:单链表的拆分 Time Limit: 1000 ms Memory Limit: 65536 KiB Problem Description 输入N个整数顺序建立一个单链表,将该 ...
- SDUT OJ 数据结构实验之链表九:双向链表
数据结构实验之链表九:双向链表 Time Limit: 1000 ms Memory Limit: 65536 KiB Submit Statistic Discuss Problem Descrip ...
- SDUT OJ 数据结构实验之链表八:Farey序列
数据结构实验之链表八:Farey序列 Time Limit: 10 ms Memory Limit: 600 KiB Submit Statistic Discuss Problem Descript ...
- SDUT OJ 数据结构实验之链表六:有序链表的建立
数据结构实验之链表六:有序链表的建立 Time Limit: 1000 ms Memory Limit: 65536 KiB Submit Statistic Discuss Problem Desc ...
- SDUT OJ 数据结构实验之链表四:有序链表的归并
数据结构实验之链表四:有序链表的归并 Time Limit: 1000 ms Memory Limit: 65536 KiB Submit Statistic Discuss Problem Desc ...
- SDUT OJ 数据结构实验之链表三:链表的逆置
数据结构实验之链表三:链表的逆置 Time Limit: 1000 ms Memory Limit: 65536 KiB Submit Statistic Discuss Problem Descri ...
随机推荐
- Java之戳中痛点 - (2)取余用偶判断,不要用奇判断
取余判断原则:取余用偶判断,不要用奇判断 先看一个 程序: package com.test; import java.util.Scanner; public class t1 { public s ...
- js 读写文件
读写文件: var f = fso.CreateTextFile("c:\\pexam\\"+name+".txt", true); f.write(arr); ...
- 有关javamelody的配置
一:前沿 在这里我学到了怎么来使用开源的东西,也第一次去接触有关性能方面检测的开源框架,javamelody是性能检测的,刚刚看的时候我什么都不知道的,但是自己接触了,才知道一点大概思路吧.下面来记载 ...
- 【Foreign】开锁 [概率DP]
开锁 Time Limit: 10 Sec Memory Limit: 256 MB Description Input Output Sample Input 4 5 1 2 5 4 3 1 5 ...
- 【BZOJ2039】【2009国家集训队】人员雇佣 [最小割]
人员雇佣 Time Limit: 20 Sec Memory Limit: 259 MB[Submit][Status][Discuss] Description 作为一个富有经营头脑的富翁,小L决 ...
- bzoj4886 [Lydsy2017年5月月赛]叠塔游戏
传送门:http://www.lydsy.com/JudgeOnline/problem.php?id=4886 [题解] 跟bzoj4883:http://www.cnblogs.com/galax ...
- hashlib模块加密用法
hashlib 加密模块 hashlib.md5() 构建一个md5的对象,用于调用对象的update方法去加密 例子: import hashlib hash = hashlib.md5() h ...
- kvm源代码分析
vmx是x86硬件虚拟化层,从代码看,qemu用户态是一层,kernel中KVM通用代码是一层,类似kvm_x86_ops是一层,针对各个不同的硬件架构,而vcpu_vmx则是具体架构的虚拟化方案一层 ...
- maven修改本地仓库默认路径问题
找到maven本地路径的settings.xml文件,如D:\Program Files\apache-maven-3.0.5\conf\settings.xml: 在settings.xml文件中增 ...
- 学习struts2
有部分内容转载牛人的博客: http://blog.csdn.net/hudie1234567/article/details/6730481 http://blog.csdn.net/lishuan ...