国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 學院 > 開發設計 > 正文

字典序排序問題

2019-11-11 01:58:53
字體:
來源:轉載
供稿:網友

思路: 字典序法中,對于數字1、2、3……n的排列,不同排列的先后關系是從左到右逐個比較對應的數字的先后來決定的。例如對于5個數字的排列 12354和12345,排列12345在前,排列12354在后。按照這樣的規定,5個數字的所有的排列中最前面的是12345,最后面的是 54321 字典序算法如下: 設P是1~n的一個全排列:p=p1p2……pn=p1p2……pj-1pjpj+1……pk-1pkpk+1……pn 1)從排列的右端開始,找出第一個比右邊數字小的數字的序號j(j從左端開始計算),即 j=max{i|pi

#include<iostream>#include<stdio.h>using namespace std;int main(){ int n; cin>>n; int ch[1005]; int i; for(i=1;i<=n;i++) cin>>ch[i]; for(i=n-1;i>=1;i--) { if(ch[i]<ch[i+1]) break; } int min; int count=0; int t; for(int j=i;j<=n;j++) { if(ch[j]>ch[i]) { if(count==0) { min=ch[j]; t=j; count=1; } else { if(min>ch[j]) { min=ch[j]; t=j; } } } } int k; k=ch[i]; ch[i]=ch[t]; ch[t]=k; for(int l=i+1,r=n;l<=(n-i-1)/2+i+1;l++,r--) { int a; a=ch[l]; ch[l]=ch[r]; ch[r]=a; } for(int i=1;i<=n;i++) cout<<ch[i]<<" "; return 0;}
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 永嘉县| 宁明县| 通州区| 大连市| 雷州市| 阳原县| 云南省| 太和县| 城固县| 景泰县| 渝中区| 辽中县| 江西省| 全椒县| 江津市| 阜新市| 泗洪县| 四平市| 建瓯市| 平原县| 博罗县| 平阴县| 阿克苏市| 日喀则市| 历史| 涟水县| 桐梓县| 宁乡县| 潞西市| 通江县| 石棉县| 浪卡子县| 镇平县| 绥棱县| 固原市| 溧阳市| 布拖县| 龙里县| 通许县| 高要市| 余干县|