数组的排列

例如,我有这个数组: int a[] = new int[]{3,4,6,2,1}; 我需要列出所有的排列,如果这样的话, {3,2,1,4,6} ,其他的不能相同。 我知道,如果数组的长度是n,那么就有n! 可能的组合。 这个算法怎么写? 更新:谢谢,但我需要一个伪代码算法,如: for(int i=0;i<a.length;i++){ // code here } 只是算法。 是的,API函数很好,但是对我来说并没有太大的帮助。

为什么当模板参数被用作另一个模板的模板参数时,不能推导出模板参数?

这个代码有什么错? #include <map> template<typename T> struct TMap { typedef std::map<T, T> Type; }; template<typename T> T test(typename TMap <T>::Type &tmap_) { return 0.0; } int _tmain(int argc, _TCHAR* argv[]) { TMap<double>::Type tmap; tmap[1.1] = 5.2; double d = test(tmap); //Error: could not deduce template argument for T return 0; }

为什么要使用strncpy而不是strcpy?

编辑:我已经添加了该示例的源代码。 我遇到这个例子 : char source[MAX] = "123456789"; char source1[MAX] = "123456789"; char destination[MAX] = "abcdefg"; char destination1[MAX] = "abcdefg"; char *return_string; int index = 5; /* This is how strcpy works */ printf("destination is originally = '%s'\n", destination); return_string = strcpy(destination, source); printf("after strcpy, dest becomes '%s'\n\n", destination); /* This is how strncpy works */ […]

如何以纯文本的形式显示HTML标签

我在我的网站上有一个允许HTML的输入表单,我正在尝试添加有关使用HTML标记的说明。 我想要的文字 <strong>Look just like this line – so then know how to type it</strong> 但是到目前为止我所得到的是: 看起来就像这条线 – 然后知道如何输入它 我怎样才能显示标签,让人们知道要输入什么?

身高:100%不能工作

我想旋转木马DIV(s7)扩大到整个屏幕的高度。 我不知道为什么它没有成功。 要看到页面,你可以去这里 。 body { height: 100%; color: #FFF; font: normal 28px/28px'HelveticaWorldRegular', Helvetica, Arial, Sans-Serif; background: #222 url('') no-repeat center center fixed; overflow: hidden; background-size: cover; margin: 0; padding: 0; } .holder { height: 100%; margin: auto; } #s7 { width: 100%; height: 100%: margin: auto; overflow: hidden; z-index: 1; } #s7 #posts { […]

为什么Cdecl调用在“标准”P / Invoke惯例中常常不匹配?

我正在研究一个相当大的代码库,其中C ++功能是从C#调用的。 我们的代码库中有很多调用,例如… C ++: extern "C" int __stdcall InvokedFunction(int); 与相应的C#: [DllImport("CPlusPlus.dll", ExactSpelling = true, SetLastError = true, CallingConvention = CallingConvention.Cdecl)] private static extern int InvokedFunction(IntPtr intArg); 我已经搜寻了网络(就我的能力而言),为什么存在这种明显的不匹配。 例如,为什么C#中有一个Cdecl,C ++中有__stdcall? 显然,这会导致堆栈被清除两次,但是,在这两种情况下,变量都以相同的相反顺序被压入堆栈,这样我就不会看到任何错误,尽管返回信息在在调试过程中尝试跟踪? 从MSDN: http : //msdn.microsoft.com/en-us/library/2x8kf7zx%28v=vs.100%29.aspx // explicit DLLImport needed here to use P/Invoke marshalling [DllImport("msvcrt.dll", EntryPoint = "printf", CallingConvention = CallingConvention::Cdecl, CharSet = CharSet::Ansi)] // […]

这是什么意思全球命名空间会被污染?

这是什么意思全球命名空间会被污染? 我真的不明白是什么全球命名空间被污染的手段。

为什么使用KML数据检索Android版Google路线不再适用?

可能重复: Google地图输出= kml破了? 几天后,我试图使用KML数据检索Google Directions,我开始遇到错误。 错误似乎是我请求的网址不再搜索KML数据,它返回整个页面。 为了实现这一目标,我遵循了这一点。 有什么解决方案呢? 有没有其他的选择?

使用C#,如何找出哪个进程锁定了一个文件?

在Windows中,我如何确定(使用C#)哪个进程锁定了一个文件? 第三方工具是有帮助的,但不是我要找的。

如果没有使用库,querySelectorAll不可用,则通过属性获取元素?

<p data-foo="bar"> 你怎么能这样做呢? document.querySelectorAll('[data-foo]') querySelectorAll 不可用 ? 我需要一个至少在IE7中工作的本机解决方案。 我不在乎IE6。