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__( ...
随机推荐
- sql语句学习及索引学习,未完待续,补充增删改查
1,查询出last_name 为 'Chen' 的 manager 的信息. select * fromwhere employee_id = ( selectfrom employees wher ...
- JAVA写接口傻瓜($)教程(三)
接上一篇 补充:事实上java的类需要在src文件夹里写,classes文件夹只是会同步src文件夹里的类.如果在classes文件夹里操作java类,是会提示文件只读的.src文件夹中进行代码编写 ...
- javascript设计模式阅读后的感悟与总结
单例模式 用于创建唯一的一个对象. 核心在于一个判断 var index if(index){ return index; } init(); 这样只会在第一次的时候初始化创建对象,以后都不会再创建对 ...
- react .net core 发布 Access-Control-Allow-Origin Cors
本案例用IIS部署 1. 在react上先publish: npm run build 生成了build文件,在此文件里添加web.config,注意httpProtocol是用来跨域的. <? ...
- redis安装,windows,linux版本并部署服务
一.使用场景 项目中采用数据库访问量过大或访问过于频繁,将会对数据库带来很大的压力.redis数据库是以非关系数据库的出现,后来redis的迭代版本支持了缓存数据.登录session状 ...
- excel打开txt格式文件
- 帝国cms中当调用当前信息不足时,继续取其他数据
<?php$sql=$empire->query("select * from table1 order by id limit 20"); $num = mysql_ ...
- 最长公共子串和子序列的Python实现,带图示。
使用矩阵来记录两个子串之间各个字符之间的对应关系. 最长子串:矩阵中数字最大的就是最长子串的长度.若对应位置字符相同,则c[i][j] = c[i-1][j-1] + 1 def longSubStr ...
- h5或者微信端吊起app
[https://www.cnblogs.com/shadajin/p/5724117.html]! 魔窗sdk http://www.magicwindow.cn/doc/universal-lin ...
- JS案例六_2:省市级联动
<!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title> ...