单链表逆序生成及逆置的完整实现
来源:互联网 发布:网络采购的方式主要有 编辑:程序博客网 时间:2024/05/17 03:21
单链表逆序生成及逆置的完整实现
- 本例中单链表数据类型定义成int型,可更改
头文件1(1.h)
宏定义及Status类型定义
头文件2(2.h)
单链表基本操作函数与逆置函数
include"1.h"using namespace std;typedef int ElemType;typedef struct LNode{ ElemType data; struct LNode *next;}LNode,*LinkList;LinkList init_L(void){ LinkList p=(LinkList)malloc(sizeof(LNode)); if(NULL==p) exit(0); p->next=NULL; return p;}void creat_L(LinkList &l,int n){ int i; l=(LinkList)malloc(sizeof(LNode)); l->next=NULL; for(i=n;i>0;--i){ LinkList p=(LinkList)malloc(sizeof(LNode)); cin>>p->data; p->next=l->next; l->next=p; }}Status reverse(LinkList &L){ LinkList p=L->next; if(p==NULL||p->next==NULL) return OK; while(p->next!=NULL){ LinkList q=p->next; p->next=q->next; q->next=L->next; L->next=q; } return OK;}
主函数
逆序建立单链表,随后输出;逆置单链表,再输出
#include <iostream>#include <stdio.h>#include <stdlib.h>#include "2.h"using namespace std;int main() { int n,i; LinkList p=init_L(),q; printf("请输入单链表个数"); cin >> n; creat_L(p,n); q=p; for(i=0;i<n;i++) { q=q->next; printf("[%d]",q->data) ; if(q->next==NULL){ break; } } printf("\n"); reverse(p); for(i=0;i<n;i++) { p=p->next; printf("[%d]",p->data) ; if(p->next==NULL){ break; } } }
阅读全文
2 0
- 单链表逆序生成及逆置的完整实现
- 单链表实现及逆序
- 单链表的逆序输出及就地逆置
- 单链表的逆序----简单实现
- java 实现单链表的逆序
- 单向链表的基本操作及逆序实现
- 【C语言】递归实现栈的逆序及排序
- 归并排序的实现及利用其求逆序对数
- 获取图片路径--生成缩略图的完整实现
- 获取图片路径--生成缩略图的完整实现
- 利用栈来实现单链表的逆序
- 单链表逆序的C++实现
- 6、JAVA实现单链表的逆序
- 【面试题】实现单链表的逆序
- 实现字符串的逆序
- QueryInterface 实现及使用的完整的例子
- C++实现单链表逆序
- c++实现单链表逆序
- sparkStream中作为kafka的生产者
- 单链表常考操作
- Unity IOS 微信SDK 记录
- 企业级软件服务市场,班聊or钉钉,谁将成为下一个微信?
- 大众汽车接入腾讯车联网阵营 联合发布首个车联App
- 单链表逆序生成及逆置的完整实现
- 全面进化的中兴小鲜3:金属指纹机潮流新贵
- 成都,一个崛起中的创客之城 2015「链」大会——你所未见的成都
- CSS 伪类选择器
- 够快才畅快vivo X6再登Hi-Fi巅峰:全球首发音频业骁龙820
- Ant+testng+selenium基本配置
- android 使用OPENGL ES实现地月模型(3D)-纹理映射基础
- Python编写的命令行版微信。(已集成自动聊天机器人(通过网址api形式))
- 语言类型的分类