练习1
来源:互联网 发布:linux 查看命令的路径 编辑:程序博客网 时间:2024/05/16 10:15
Description
The Little Elephant enjoys recursive functions.
This time he enjoys the sorting function. Let a is a permutation of an integers from 1 to n, inclusive, and ai denotes the i-th element of the permutation. The Little Elephant's recursive function f(x), that sorts the first x permutation's elements, works as follows:
- If x = 1, exit the function.
- Otherwise, call f(x - 1), and then make swap(ax - 1, ax) (swap the x-th and (x - 1)-th elements of a).
The Little Elephant's teacher believes that this function does not work correctly. But that-be do not get an F, the Little Elephant wants to show the performance of its function. Help him, find a permutation of numbers from 1 to n, such that after performing the Little Elephant's function (that is call f(n)), the permutation will be sorted in ascending order.
#include<iostream>using namespace std;int a[1005];//此处递归的结构究竟是什么 void f(int n){if(n==1) return;else{f(n-1);swap(a[n-2],a[n-1]);//递归调用的本质。注意每次是按顺序执行,执行完f(n-1)才是swap语句 }}int main(){int n;cin>>n;if(n==1) cout<<n<<endl;else if(n==2)cout<<2<<" "<<1<<endl;else{cout<<n<<" ";a[0]=n;for(int i=1;i<=n-1;i++){cout<<i<<" ";a[i]=i;}}cout<<endl;f(n);for(int i=0;i<n;i++)cout<<a[i]<<" ";}
0 0
- 【SICP练习】1 练习1.1-练习1.5
- 练习1
- 练习1
- 练习1
- 练习1
- 练习。。。。。。1
- 练习1
- 练习1
- 练习1
- 练习1
- 练习1
- 练习1
- 练习1
- 练习1
- 练习1
- 练习1
- 练习1
- 练习1
- iOS学习之iOS沙盒(sandbox)机制和文件操作之NSFileManager(三)
- java 向网络post数据
- WIN7/8 下Fedora双系统的安装
- 《unix网络编程》(15)poll函数以及使用poll的客户服务器程序
- 栈--链表实现
- 练习1
- Git 与TortoiseGit 的安装设置
- 实时分析网站UV与Flajolet-Martin算法
- android模拟器使用sd卡
- 栈和队列之间的互相实现
- android 常见分辨率(mdpi、hdpi 、xhdpi、xxhdpi )及屏幕适配注意事项
- 重生之晚来月
- HDU 1698 Just a Hook(线段树成段更新)
- 椭圆的周长与面积_来自一张老外的作业纸