c#版:
using System;
namespace 全排列
{
class Program
{
static void Main(string[] args)
{
char[] s = "12345678900".ToCharArray();
Pl p = new Pl();
p.AllPermutation(s, 0);
// Console.WriteLine(p.count);
// Console.ReadLine();
}
}
class Pl
{
public int count = 0;
public void AllPermutation(char[] s, int n)
{
for (int i = n; i < s.Length; i++)
{
if (n != s.Length - 1)
{
int tn = n + 1;
if (i != n)
{
char tempch = s[n];
s[n] = s[i];
s[i] = tempch;
AllPermutation(s, tn);
s[i] = s[n];
s[n] = tempch;
}
else
{
AllPermutation(s, tn);
}
}
else
{
// count++;
// Console.WriteLine(s);
}
}
}
}
}
c++版:
#include <iostream>
using namespace std;
int Length = 11;
void AllPermutation(char s[], int n)
{
for (int i = n; i < Length; i++)
{
if (n != Length - 1)
{
int tn = n + 1;
if (i != n)
{
char tempch = s[n];
s[n] = s[i];
s[i] = tempch;
AllPermutation(s, tn);
s[i] = s[n];
s[n] = tempch;
}
else
{
AllPermutation(s, tn);
}
}
else
{
// count++;
// cout<<s<<endl;
}
}
}
int main(int argc, char *argv[])
{
char s[] = {'1','2','3','4','5','6','7','8','9','0','0'};
AllPermutation(s,0);
//cin.get();
return 0;
}
13 个解决方案
#1
围观一下!
#2
C#的执行效率不比源生语言差。这一点比JAVA可强多了。
#3
不要招来杀身之祸呀!呵呵呵呵……
#4
单纯的数值计算差别不大,你写个带图形界面,硬件调用的程序比较一下,就可看出差别
#5
C#执行效率可能比C++更好。
原因是C#是中间语言,可以即时编译出更适应目标平台的代码,比如充分利用新的指令集,为AMD或者Intel处理器选择更好的代码,充分优化多核心运算效率。
原因是C#是中间语言,可以即时编译出更适应目标平台的代码,比如充分利用新的指令集,为AMD或者Intel处理器选择更好的代码,充分优化多核心运算效率。
#6
C++程序一旦编译出来,就是机器代码了。
比如Intel新发布了iSSE6,用户升级了电脑。那么除非重新编译,否则C++的程序无法从中获益。
比如Intel新发布了iSSE6,用户升级了电脑。那么除非重新编译,否则C++的程序无法从中获益。
#7
这种优劣,只有烂机器上才能试得出来
#8
现在硬件配置都高了,感觉没那么明显
#9
学习了。。。
#10
正解
#11
简单的数据处理计算,看不出来什么端倪的!
就跟算平均数一样,取的数据越多,越复杂,算出来才越精确,
相反取的越少,简单的话,差距就很大了!
你试试,写一些复杂的东西,再比较就知道了!
就跟算平均数一样,取的数据越多,越复杂,算出来才越精确,
相反取的越少,简单的话,差距就很大了!
你试试,写一些复杂的东西,再比较就知道了!
#12
路过,接分
#13
看来还是 open source 的 c++ 程序好
#1
围观一下!
#2
C#的执行效率不比源生语言差。这一点比JAVA可强多了。
#3
不要招来杀身之祸呀!呵呵呵呵……
#4
单纯的数值计算差别不大,你写个带图形界面,硬件调用的程序比较一下,就可看出差别
#5
C#执行效率可能比C++更好。
原因是C#是中间语言,可以即时编译出更适应目标平台的代码,比如充分利用新的指令集,为AMD或者Intel处理器选择更好的代码,充分优化多核心运算效率。
原因是C#是中间语言,可以即时编译出更适应目标平台的代码,比如充分利用新的指令集,为AMD或者Intel处理器选择更好的代码,充分优化多核心运算效率。
#6
C++程序一旦编译出来,就是机器代码了。
比如Intel新发布了iSSE6,用户升级了电脑。那么除非重新编译,否则C++的程序无法从中获益。
比如Intel新发布了iSSE6,用户升级了电脑。那么除非重新编译,否则C++的程序无法从中获益。
#7
这种优劣,只有烂机器上才能试得出来
#8
现在硬件配置都高了,感觉没那么明显
#9
学习了。。。
#10
正解
#11
简单的数据处理计算,看不出来什么端倪的!
就跟算平均数一样,取的数据越多,越复杂,算出来才越精确,
相反取的越少,简单的话,差距就很大了!
你试试,写一些复杂的东西,再比较就知道了!
就跟算平均数一样,取的数据越多,越复杂,算出来才越精确,
相反取的越少,简单的话,差距就很大了!
你试试,写一些复杂的东西,再比较就知道了!
#12
路过,接分
#13
看来还是 open source 的 c++ 程序好