将一个链表按逆序排列
将一个链表按逆序排列,即将链头当链尾,链尾当链头。
源程序:
#include <stdio.h>
#include <malloc.h>
#define LEN sizeof(struct student)
struct student
{
int num;
struct student* next;
};
int n;
struct student * creat(void)
{
//struct student* p1,*p2,*head;
struct student * p1;
struct student * p2;
struct student * head;
p1=p2=(struct student *)malloc(LEN);
head=NULL;
n=0;
printf("请输入学生的学号(输入学号0结束):\n");
scanf("%d",&p1->num);
while(p1->num!=0)
{
n=n+1;
if(n==1)
head=p1;
else
p2->next=p1;
p2=p1;
printf("请输入学生的学号(输入学号0结束):\n");
p1=(struct student*)malloc(LEN);
scanf("%d",&p1->num);
}
p2->next=NULL;
return (head);
}
struct student *nixu(struct student * head)
{
struct student *s,*t;
s=head;
head=NULL;
while(s)
{
t=s;
s=s->next;
t->next=head;
head=t;
}
return head;
}
void print(struct student* head,int n)
{
struct student* p1,*p2,*p3;
p1=head;
while(p1!=NULL)
{
printf("%d\n",p1->num);
p1=p1->next;
}
}
int main()
{
struct student* head;
head=creat();
print(head,n);
head=nixu(head);
printf("nixuhou:\n");
print(head,n);
}
转载于:https://blog.51cto.com/lihaichuan/979557
将一个链表按逆序排列相关推荐
- 关于链表的逆序排列!
关于链表逆序的中心思想就是: 用三个结点指针分别记录,第一个和第二个结点,把第一个结点后指为NULL,由首结点作为尾结点.然后把第二个指向第一个,再然后同 时移动,使第二个结点为第三个结点,第一个结 ...
- c语言实现数组中的数据逆序排列
主函数里面已经定义了数组b及其中的9个数据,然后利用for循环将数组中的数据打印一遍,之后将数组的首地址和数组长度9传给函数fun,函数fun要实现的功能是将数组b中的数据前后置换顺序,即原来的1,2 ...
- C语言单向链表的逆序输出
最近在学习链表,看到书上说可以采取每次在链表头部插入新增节点的方法,将链表逆序,也就是建立的链表节点内容与数据的输入顺序相反.我便来了兴趣,想着试试看,结果没搞懂,于是开始百度.看了几遍博客后终于是明 ...
- c语言实现链表的逆序输出,C语言数据结构实现链表逆序并输出
C语言数据结构实现链表逆序并输出 将一个链表逆序并输出.我用了两种方法来实现,第一种是借助了一个新的空链表:第二种是在原来链表的基础上直接实现逆序. 实例代码: 头文件: #include #incl ...
- 【c语言】数组逆序排列
问题描述 编写一个程序,读入一组整数(不超过20个),并把它们保存在一个整型数组中.当用户输入0时,表示输入结束.然后程序将把这个数组中的值按逆序重新存放,并打印出来.要求:(1)只能定义一个数组:( ...
- python【蓝桥杯vip练习题库】ADV-103逆序排列
试题 算法提高 逆序排列 资源限制 时间限制:1.0s 内存限制:512.0MB 问题描述 编写一个程序,读入一组整数(不超过20个),并把它们保存在一个整型数组中.当用户输入0时,表示输入结束.然后 ...
- 单链表的逆序java_java 实现单链表的逆序
package com.ckw.mianshi; /** * java 实现单链表的逆序 * @author Administrator * */ public class SingleLinkedR ...
- 10.14 将n个数按输入输出顺序的逆序排列,用函数实现
将n个数按输入输出顺序的逆序排列,用函数实现. #include <stdio.h>int main(){int n,i;void reverse(int * num, int n);pr ...
- 字符串按照单词为单位逆序排列
我们前面已经写过一个简单字符串逆序排序的方法,这里再开一个字符串排序问题: 给定一个字符串"I love China",编写程序完成以单词为单位的逆序,如"China l ...
最新文章
- 简评file_get_contents与curl 效率及稳定性
- android 设置窗口透明效果,android - 如何将对话框窗口背景设置为透明,而不影响其边距...
- SQL中OBJECT_ID,OBJECT_NAME,OBJECT_DEFINITION的用法
- 修改dts后重编译_「正点原子FPGA连载」第二十章另一种方式编译ZYNQ镜像
- three.js(五) 地形纹理混合
- 今天工作中碰到一个clone的问题
- transferto遇到的问题java.io.FileNotFoundException: C:\Users\Administrator\AppData\Local\Temp
- UGUI- 单列列表(VerticalLayoutGroup)
- MPLAB IDE 编译器文件归类整理
- FireEye开启IPO大幕
- 遍历树,找出所有叶子路径
- mysql 表字段信息从一张表迁移到另一张表_Mysql之分库分表
- 惊呆了!JDK1.8竟然打破了我对接口的一切认知...
- x11获得窗口名的代码
- 2022年最新iOS面试题(附答案)
- ubuntu大小写切换键的使用
- 【老九学堂】【Java】Java环境之JDK配置
- bzoj3238 [ AHOI2013 ] --后缀自动机
- 在线查看相机快门次数
- may have been in progress in another thread when fork() was called.
热门文章
- python协程异步原理_简单介绍Python的Tornado框架中的协程异步实现原理
- php中自己写的类放哪里,class类 - ThinkPHP 3.2.3,我有一个class,应该放在哪里?
- java事件驱动模型_Spring事件驱动模型详解
- 对象数组的初始化_JAVA中数组是什么?
- arraycopy用法_Java复制(拷贝)数组的4种方法:arraycopy()方法、clone() 方法、copyOf()和copyOfRan...
- android 输入法 suretype,没输入法的年代,黑莓都有哪些经典键盘?
- Maven 新版本 3.8.1 打包报错 maven-default-http-blocker (http://0.0.0.0/): Blocked mirror for repositories
- 【Netty】大白话 Netty 核心组件分析
- 模拟usb重新插拔_Android 10带来黑科技 检测手机USB接口是否有液体或者是否过热...
- java 无视报错编译_java 无视报错编译