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__( ...
随机推荐
- input只能输入数字字母
<input type='text' onkeyup="this.value=this.value.replace(/[^0-9-]+/,'');" /> 只能输入数字 ...
- angular2学习笔记3
一.项目搭建 二.生成首页的4个tab页面 三.运行部署及配置
- Python3调用Hadoop的API
前言: 上一篇文章 我学习使用pandas进行简单的数据分析,但是各位...... Pandas处理.分析不了TB级别数据的大数据,于是再看看Hadoop. 另附上人心不足蛇吞象 对故事一的感悟: ...
- 了解计算机与操作系统发展阶段以及android操作系统的发展史
计算机与操作系统发展阶段 计算机的发展: 第一代(1946-1957年),电子管计算机 第二代(1958-1964年),晶体管计算机 第三代 (1964—1970年),集成电路数字机 第四代 (19 ...
- MyCat配置运行
昨天把mycat的环境搭建差不多了,今天直接上配置文件: 主要需要修改三个配置文件: rule.xml schema.xml server.xml rule.xml配置如图: <?xml ver ...
- C#工作总结(一):Fleck的WebSocket使用
一.引子(Foreword) 最近公司里面要做窗体和网页交互的功能.网上找了一下资料,这里做一个简单的扩充和整理,部分内容可能是摘自其他博客,这里会注明出处和原文地址供大家和自己日后查阅. 二.基础知 ...
- flask基础---第三篇
flask中request的一些方法 首先from flask import request 1.request.path 2.request.host 3.request.host_url from ...
- fastreport窗口重置(适用于属性、数据等窗口显示不出来)
找到如下路径: C:/Users/账户名/AppData/Local/FastReport/FastReport.config 删除即可. 记得先退出使用FastReport的程序,再删除
- java_jsp和servlet中乱码问题
- C#保留小数点后几位
String.Format("{0:N1}", a) 保留小数点后一位 String.Format("{0:N2}", a) 保留小数点后两位 String.F ...