C语言链表:逆序建立单链表
#define _CRT_SECURE_NO_WARNINGS #include<stdio.h>
#include<malloc.h>
#define LEN sizeof(struct Node) struct Node
{
int data;
struct Node* Next;
}; typedef struct Node *PtrToNode;
typedef PtrToNode List;//表
typedef PtrToNode Position;//位置 List ReCreatTable(int n);//逆序建立单链表
void PrintTable(Position head);//遍历单链表
void Insert5th(Position head);//在单链表第五个元素前插入一个值为999的元素
void Delete5th(Position head);//删除单链表第五个元素 List ReCreatTable(int n)
{
int i;
Position p, head;
head = (Position)malloc(LEN);
head->Next = NULL;
for (i = ; i <= n; i++)
{
p = (Position)malloc(LEN);
printf("请输入元素:");
scanf("%d", &p->data);
p->Next = head->Next;
head->Next = p;
}
return (head);
} void PrintTable(Position head)
{
Position s;
s = head->Next;
printf("链表:");
while (s != NULL)
{
if (s->Next == NULL)
printf("%d\n", s->data);
else
printf("%d ", s->data);
s = s->Next;
}
} void Insert5th(Position head)
{
Position P, TmpCell;
TmpCell = (Position)malloc(LEN);
P = head;
int i;
for (i = ; i < ; i++)
{
P = P->Next;
}
if (TmpCell == NULL)
printf("Out of space!!!");
TmpCell->data = ;
TmpCell->Next = P->Next;
P->Next = TmpCell;
} void Delete5th(Position head)
{
Position P, TmpCell;//TemCell是删除元素
P = head;
int i;
for (i = ; i < ; i++)
{
P = P->Next;
TmpCell = P->Next;
}
P->Next = TmpCell->Next;
free(TmpCell);
} int main()
{
int n;
Position head;
printf("请输入链表元素个数:");
scanf("%d", &n);
head = ReCreatTable(n);
PrintTable(head);
printf("在第五个元素前插入999后");
Insert5th(head);
PrintTable(head);
printf("删除第五个元素后");
Delete5th(head);
PrintTable(head);
return ;
}
C语言链表:逆序建立单链表的更多相关文章
- SDUT OJ 数据结构实验之链表二:逆序建立链表
数据结构实验之链表二:逆序建立链表 Time Limit: 1000 ms Memory Limit: 65536 KiB Submit Statistic Discuss Problem Descr ...
- SDUT-2117_数据结构实验之链表二:逆序建立链表
数据结构实验之链表二:逆序建立链表 Time Limit: 1000 ms Memory Limit: 65536 KiB Problem Description 输入整数个数N,再输入N个整数,按照 ...
- 链表逆序(JAVA实现)
题目:将一个有链表头的单向单链表逆序 分析: 链表为空或只有一个元素直接返回: 设置两个前后相邻的指针p,q,使得p指向的节点为q指向的节点的后继: 重复步骤2,直到q为空: 调整链表头和链表尾: 图 ...
- ZT C语言链表操作(新增单向链表的逆序建立)
这个不好懂,不如看 转贴:C语言链表基本操作http://www.cnblogs.com/jeanschen/p/3542668.html ZT 链表逆序http://www.cnblogs.com/ ...
- Reverse Linked List II 单向链表逆序(部分逆序)
0 问题描述 原题点击这里. 将单向链表第m个位置到第n个位置倒序连接.例如, 原链表:1->2->3->4->5, m=2, n =4 新链表:1->4->3-& ...
- ZT 链表逆序
链表逆序 原帖地址http://blog.csdn.net/niuer09/article/details/5961004 分类: C/C++2010-10-23 17:23 18425人阅读 评论( ...
- 链表逆序,java实现
package com.cskaoyan.linkedlist; //反转数组 public class LinkedListDemo2 { public static Node reverse(No ...
- C# 单向链表 逆序(递归)
static void Main(string[] args) { while (true) { LinkedList L = new LinkedList(); L.Add(new Node(&qu ...
- 链表逆序---python
class ListNode: Value = '' # 节点要储存的值,因为Python是弱类型,因此无需传入泛型 Next = None # 下一个节点,初始化时为空值 def __init__( ...
随机推荐
- linux-基础命令篇-02
基本命令:--LS 关于显示的颜色含义: 白色:表示普通文件 蓝色:表示目录 绿色:表示可执行文件 红色:表示压缩文件 浅蓝色:链接文件 红色闪烁:表示链接的文件有问题 黄色:表示设备文件 灰色:表示 ...
- 推荐一个好用的E2E前端测试框架cypress
Cypress 是一个E2E的前端自动化测试框架,同样是基于BDD的思想设计的,话不多说,上demo https://github.com/Spillage/cypress-demo PS, 还有一个 ...
- Linux必备150个命令
命令 功能说明 线上查询及帮助命令(2个) man 查看命令帮助,命令的词典,更复杂 ...
- CentOS7系统上的GPSTK源码安装
网址:http://www.gpstk.org/bin/view/Documentation/BuildingGPSTkUnderUnix 这里使用Cmake来安装源码,网站上的原文摘抄如下,有少部分 ...
- dubbo服务暴露
想熟悉dubbo源码,首先要知道dubbo extensionLoader,而dubbo的这种扩展机制,是根据java spi衍生而来. 这是基础,但是我放在后面说明. 一:dubbo demo pr ...
- css选择器权重问题
important infinity 行间样式 1000(256进制) id 100 class/属性/伪类 10 标签/伪元素 1 通配符 0
- Ubuntu开机启动roscore服务的设置
1.在/etc/init.d中添加启停脚本ros_daemon.bash: #!/bin/bash ### BEGIN INIT INFO # Provides: ros_daemon.bash # ...
- RSA填充模式
1)RSA_PKCS1_PADDING 填充模式,最常用的模式 输入RSA_size(rsa) – 11输出和modulus一样长 2)RSA_PKCS1_OAEP_PADDINGRSA_size(r ...
- flask-bootstrap学习笔记
flask-bootstrap 是flask一个方便扩展使用bootstrap前台的扩展. 使用方法: 安装: pip instal flask-bootstrap4 加载: from flask_b ...
- node.js http接口调试时请求串行特性分析
缘起: 产品业务上有个类数据库服务的请求时间比较长(类似mysql的sql查询),为了优化减少并发时的请求数,做了一个并发时共用请求的优化. 通过单元测试后,想通过手动模拟看下效果,发现优化一直不能生 ...