递增序列排列
来源:互联网 发布:java开源开发平台 编辑:程序博客网 时间:2024/06/05 15:32
#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 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; }free(pre);}void sort1(LinkList *&L)//此递增有序排列还有双链表的一种方法,其初始化头插尾插具体参见博客这里不详细介绍{ LinkList *p,*pre,*q; p=L->next->next; L->next->next=NULL; while(p!=NULL) { q=p->next; pre=L; while(pre->next!=NULL&&pre->next->data<p->data) pre=pre->next; p->next=pre->next; //if(pre->next!=NULL) //pre->next->prior=p; pre->next=p; //p->prior=pre; p=q; }}int main(){ int i,n; char a[100]; scanf("%d",&n); for(i=0; i<n; i++) scanf("%c",&a[i]); LinkList *L; InitList(L); CreateListF(L,a,n); sort1(L); DisList(L); DestoryList(L); return 0;}
阅读全文
0 0
- 递增序列排列
- 非递减排列 非递增排列 递减排列 递增排列
- 最长递增子序列
- 最长递增子序列
- 最长递增子序列
- 最长递增子序列
- 最长递增子序列
- 真分数递增序列
- 最长递增子序列
- 最长递增子序列
- 最长递增子序列
- 最长递增子序列
- poj2533(最长递增序列)
- 最长递增子序列
- 最长递增子序列
- 最长递增子序列
- 最长递增子序列
- 最长递增子序列
- 安卓系统架构以及虚拟机
- Unity5网络模块UNet介绍
- CSS3随机多背景随机圆角等效果
- 常用linux高级命令
- DG
- 递增序列排列
- 软件架构模式
- jQuery怎么操作json对象jsonTest(即json类型的string,但是要先将string转换为json对象),获取对象属性、获取对象数组的某个对象
- CSDN 如何转载别人的文章
- mysql 无法启动,错误1067,进程意外终止
- 第十七周(ZigZag Conversion)
- php7新特性
- 【自动化学习笔记】环境搭建Selenium2+Eclipse+Java+TestNG_(一)
- Gson