C#学习教程:相对于另一个值对数组进行排序。现在,我想排序。但是,y的顺序与x的顺序不同。因此,在对y中的哪个元素与其相关进行排序之后,我无法判断,比如x[0]。我想要一个“双重排序”。感谢您的帮助!Array.Sort有一个接受两个数组的重载;一个用于钥匙,一个用于物品。两项都根据键数组排序:int[]keys={1,4,3,2,5};string[]items={"abc","def","ghi","jkl","mno"};Array.Sort(键,项目);foreach(intkeyinkeys){Console.WriteLine(key);//1,2,3,4,5}foreach(项目中的字符串项目){Console.写行(项目);//abc,jkl,ghi,def,mno}所以在你的情况下,这听起来像你想要的:Array.Sort(y,x);//或排序(x,y);-如果y始终是x的十位数值,则不是100%清楚y可能不应该存在-您可能只需要在需要时直接从x计算它的值。通常,当排序算法使用自定义“交换”函数时,并行数组只能排序(无需手动滚动排序算法),您可以同时交换两个数组中的元素。C++中的std::sort和C中的qsort不允许这样做。通常,考虑单个数组,其中元素是成对的项目,而不是每个项目的并行数组。这使得使用“标准”算法变得更加容易。这个怎么样?以上就是C#学习教程:排序一个数组与另一个数组相关。如果对你有用,需要进一步了解C#学习教程,希望大家多多关注——varselectedArr=newint[]{1,3,5,7,9};varunorderArr=newint[]{9,7,5,3,1};varorderedArr=unorderArr.OrderBy(o=>selectedArr.IndexOf(o));网络收藏不代表立场,如涉及侵权,请点击右侧联系管理员删除。如需转载请注明出处:
