数据结构之元素拆分
来源:互联网 发布:淘宝屏蔽关键词 编辑:程序博客网 时间:2024/05/01 14:40
//此程序在拆分元素是没有问题,但有一定缺陷,再输入时注意空格等隐藏字符的输入,最好输入例子10asdfghjklo,中间不要有空额换行等字符。#include <iostream>#include<malloc.h>#include<stdio.h>using namespace std;typedef struct LNode{ char data; struct LNode *next;} LinkList;void InitList(LinkList *&L){ L=(LinkList *)malloc(sizeof(LinkList)); L->next=NULL;}void CreateListF(LinkList *&L,char a[],int n){ LinkList *s; int i; L=(LinkList *)malloc(sizeof(LinkList)); L->next=NULL; for(i=0; i<n; i++) { s=(LinkList *)malloc(sizeof(LinkList)); s->data=a[i]; s->next=L->next; L->next=s; }}void split(LinkList *&L,LinkList *&L1,LinkList *&L2){ LinkList *p=L->next,*q,*r1; L1=L; r1=L1; L2=(LinkList *)malloc(sizeof(LinkList)); L2->next=NULL; while(p!=NULL) { r1->next=p; r1=p; p=p->next; q=p->next; p->next=L2->next; L2->next=p; p=q; } r1->next=NULL;}void DisList(LinkList *L){ LinkList *p=L->next; while(p!=NULL) { printf("%c",p->data); p=p->next; } printf("\n");}void DestoryList(LinkList *L){ LinkList *pre=L,*p=L->next; while(p!=NULL) { free(pre); pre=p; p=pre->next; }}int main(){ int i,n; char a[100]; scanf("%d",&n); for(i=0; i<n; i++) scanf("%c",&a[i]); LinkList *L,*L1,*L2; InitList(L); CreateListF(L,a,n); DisList(L); split(L,L1, L2); DisList(L1); DisList(L2); DestoryList(L); return 0;}
阅读全文
0 0
- 数据结构之元素拆分
- 数据结构实验之链表五:单链表的拆分
- 数据结构实验之链表五:单链表的拆分
- 数据结构实验之链表五:单链表的拆分
- 数据结构实验之链表五:单链表的拆分
- 数据结构实验之链表五:单链表的拆分
- 数据结构实验之链表五:单链表的拆分
- 数据结构实验之链表五:单链表的拆分
- 数据结构实验之链表五:单链表的拆分
- 数据结构实验之链表五:单链表的拆分
- 数据结构实验之链表五:单链表的拆分
- 数据结构实验之链表五:单链表的拆分
- C语言数据结构之单链表的拆分
- 数据结构实验之链表五:单链表的拆分
- 数据结构实验之链表五:单链表的拆分
- 数据结构实验之链表五:单链表的拆分
- 数据结构实验之链表五:单链表的拆分
- 数据结构实验之链表五:单链表的拆分
- 监测防护SambaCry CVE-2017-7494漏洞
- Launcher 记录自定义桌面
- java 枚举类型的使用
- 快速排序算法原理及实现(单轴快速排序、三向切分快速排序、双轴快速排序)
- jQuery中ajax的4种常用请求方式
- 数据结构之元素拆分
- Spring的事务管理
- 单点登录
- SAX解析
- JVM可生产的最大线程数 Thread 数量
- Codeforces 812B-Sagheer, the Hausmeister
- Spring TaskExecutor
- 第十五周:( LeetCode565) Array Nesting(c++)
- 开个公众号 大数据务虚杂谈 ;)