更改多维数组中的列顺序

时间:2017-04-16 12:11:40

标签: c# arrays truthtable

我正在构建一个真值表生成器,并且能够获得每个列的所有可能值,我从第一个列开始(False,True,False,True等),然后是下一个(false,false,真实,真实等。)。

现在我的表看起来像这样:

False | False | False | False |

True | False | False | False |

False | True | False | False |

True | True | False | False |

False | False | True | False |

True | False | True | False |

False | True | True | False |

True | True | True | False |

False | False | False | True |

True | False | False | True |

False | True | False | True |

True | True | False | True |

False | False | True | True |

True | False | True | True |

False | True | True | True |

True | True | True | True |

我希望列以相反的方式进行,右边的那个,第一个,左边的那个,最后一个。 我知道如何交换2列,但更改顺序的最佳算法是什么?我应该使用此订单,然后,在打印时,只需向后执行吗?

注意:列数取决于变量的数量,因此每次执行时都会更改。

1 个答案:

答案 0 :(得分:0)

我找不到任何简单的方法来订购列,但如果有其他人有同样的问题,我做了这个:

for (int i = 0; i < numrows; i++)
{
                for (int j = 0; j < numcolum; j++)
                {
                    newtable[i, j] = table[i, numcolum- 1 - j];
                }
}

向后复制到另一个并完成。我不确定是否有更好的方法或更有效的方法来解决这个问题。