字典排序算法的实现
来源:互联网 发布:数据库管理系统的发展 编辑:程序博客网 时间:2024/05/05 00:09
字典排序算法:
有一序列:p1 p2 p3.....pn,共有排序结果int count=n*(n-1)*.....*2*1;一下循环count-1次
1.找出 m=max{i| pi-1<pi}
2.找出 k=max{j|pm-1<pj}
3.交换pm-1 与 pk
4 将pm.....pn 的次序颠倒
/***
author:zhangrong
date:2013/4/17
实现字典排列顺序
*/
#include<iostream>
#include<cstdio>
#include<stack>
#define NUM 11
using namespace std;
int map[NUM];
int main()
{
int i,j,k;
int len;
stack<int> sta;
cin>>len;
for(i=0;i<len;i++)
map[i]=i;
for(k=0;k<len;k++)
cout<<map[k];
cout<<"\t";
int count=1;
for(int i=2;i<=len;i++)
count*=i;
for(i=1;i<count;i++)
{
j=0;
int m=0,n,w;
for(k=1;k<len;k++)
if(map[k]>map[k-1])m=k;
n=m-1;
w=-1;
for(k=0;k<len;k++)
if(map[n]<map[k]&&k>w)w=k;
int temp=map[n];
map[n]=map[w];
map[w]=temp;
for(k=m;k<len;k++)
sta.push(map[k]);
for(k=m;k<len;k++)
{
map[k]=sta.top();
sta.pop();
}
for(k=0;k<len;k++)
cout<<map[k];
cout<<"\t";
}
}
- 字典排序算法的实现
- POJ1833(字典序的排序算法)
- 按照参数key或value值进行字典排序的两种java算法实现
- 字典排序算法
- 实现几个字符串的字典序排序
- Python字典排序的简单实现
- 用sorted函数实现字典的排序
- 分治算法实现对一个数进行字典全排序
- PHP 实现的字典序排列算法
- 排序算法的实现
- 排序算法的实现
- 排序算法的实现
- 排序算法的实现
- 字典树实现词频统计及频率字典序双重融合排序算法
- 字典序排序算法解析
- 基于26叉树的字典排序算法
- Python的字典排序
- Python 字典的排序
- [125]Valid Palindrome
- Find the nondecreasing subsequences HDU 2227
- 最近实在太忙,博客暂停更新
- XMLHttpRequest post 传递多个参数及服务器端读取
- 用Java创建数组工具类ArrayTool
- 字典排序算法的实现
- 黑马程序员_类的加载器之学习心得
- DSPack视频调节
- 醉妆词
- 内核修改注册表
- Linux学习笔记:LAMP 3 安装Apache
- 学习Objective-C第二天
- 免费空间申请
- Linux C编程Makefile编写初步