永发信息网

程序语言中 tmp ans len beg 是什么意思?

答案:2  悬赏:80  手机版
解决时间 2021-04-29 02:52
如果可以请加我Q
最佳答案
#include <stdio.h>
#include <stdlib.h>

inline void Swap(int* lhs, int* rhs)
{
int tmp = *lhs;
*lhs = *rhs;
*rhs = tmp;
}

void Reverse(int* beg, int* end)
{
while(beg < end)
Swap(beg++, --end);
}

void Print(int* beg, int* end)
{
while(beg != end)
printf("%d ", *beg++);
putchar('\n');
}

inline int Cmp(const void* lhs, const void* rhs)
{
return *(const int*)rhs - *(const int*)lhs;
}

void Permutation(int* beg, int* mid, int* end)
{
if(end- mid > 1)
qsort(mid, end - mid, sizeof(int), Cmp);
int* nav = end - 1;
Print(beg, mid);

for(;;)
{
int* tmp = nav;
if(*--nav < *tmp)
{
int* rmbt = end;
while(*--rmbt <= *nav);
Swap(nav, rmbt);
if(tmp <= mid)
{
Reverse(tmp, end);
if(end - mid > 1)
qsort(mid, end - mid, sizeof(int), Cmp);
}
Print(beg, mid);
nav = end - 1;
}
if(nav == beg)
{
Reverse(beg, mid);
break;
}
}
}


int main()
{
int a[] = {1, 2, 3, 4, 5, 6, 7, 8, 9};
int m, n;

printf("Select n numbers\b\b\b\b\b\b\b\b\b");
scanf("%d", &n);
printf("from m numbers\b\b\b\b\b\b\b\b\b");
scanf("%d", &m);

Permutation(a, a + n, a + m);
}


Select 3 numbers
from 3 numbers
1 2 3
1 3 2
2 1 3
2 3 1
3 1 2
3 2 1


Select 2 numbers
from 3 numbers
1 2
1 3
2 1
2 3
3 1
3 2
全部回答

姐..电脑我也懂点..你直说程序语言..是电脑程序还是手机程序语言啊..说明白点咯..电脑程序语言也分很多种的啊..郁闷  人家不会加你的..这个东西不是三言2语说的明白的..你去下载个学习教材来慢慢看看先咯

我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
windows7这么去掉内存不足的提示
我现在初3 毕业完想读服装设计 请问有几所好
谁帮我起一个火线名字我们战队名字是Bro丶龙
最近手关节经常痛,不知怎么回事,以前没有这
请问如何下载到蒙提祖玛的宝藏2不会弹出的破
2009QQ设置了登陆保护密保卡丢了怎么办?
阅兵式什么时间开始,2015中国大阅兵是什么时
买车要挂红吗
自润滑滑动轴承是标准件吗,自润滑是怎么实现
学生犯错啦…直接被学校退学…学校的做法对吗
大家推荐几部全屏触摸手机,又有后台QQ的,谢
为什么广西的钱拿给南宁铺路?
电子商务中的中介类网站
现东莞诺基亚8500买多少钱啊
在四川资阳,,汽车方面有什么好的发展项目?
推荐资讯
外导面试一般会问哪些问题
凯蒙大药房在什么地方啊,我要过去处理事情
守护甜心中男版抚子(凪彦)喜欢亚梦吗?
电大和函授那个认可度较高一些呢?
关于oppo s19 升级失败是怎么回事??
怎样解决内存不能为read或written的问题 ?
民权道北商贸城是有什么路?
我是2000年2月12日午夜11点出生,男,问人生
DNF鬼泣的这个装备叫什么名字
开心岛幼儿园我想知道这个在什么地方
哪部古装电视剧好看?
而后人哀之;后人哀之而不鉴之,前后两句是什
正方形一边上任一点到这个正方形两条对角线的
阴历怎么看 ?