C 将整数数组映射到字符串数组时如何进行置换?
在C编程中,当每个字符映射到一个整数时,如何使用字符串数组编写置换方法?例如,我有一个10个整数的排列: 1,0,2,3,5,4,6,9,8,7-不一定按顺序排列 和一个充满字符的文本,少于400个字符。我将它们都存储到两个单独的数组中,但是如何将每个整数映射到每个字符上呢?在映射它们之后,我将如何编写排列方法 两个数组的大小都不相同。置换数组有10个值,字符数组少于400个字符,但我刚刚将其初始化为:char text[400];每个阵列的大小不会移动 更好的解释: 我在想,如果我有10个整数(0-9)和下面的排列-每个排列不能有相同的数字: 0,1,2,3,4,5,6,7,8,9-原件 1,0,3,6,7,4,5,9,2,8-置换 苹果,蜜蜂-10个字符的文本,包括空格和逗号 通过应用上面的排列,我会得到如下结果: “朋友,爱佩” 如果你使用这个排列的倒数,你会再次得到“苹果,蜜蜂” 原始索引[0]是Apple中的“A”应该在的位置-通过排列,它与“p”切换,因为索引为1。。。等等C 将整数数组映射到字符串数组时如何进行置换?,c,arrays,encryption,permutation,C,Arrays,Encryption,Permutation,在C编程中,当每个字符映射到一个整数时,如何使用字符串数组编写置换方法?例如,我有一个10个整数的排列: 1,0,2,3,5,4,6,9,8,7-不一定按顺序排列 和一个充满字符的文本,少于400个字符。我将它们都存储到两个单独的数组中,但是如何将每个整数映射到每个字符上呢?在映射它们之后,我将如何编写排列方法 两个数组的大小都不相同。置换数组有10个值,字符数组少于400个字符,但我刚刚将其初始化为:char text[400];每个阵列的大小不会移动 更好的解释: 我在想,如果我有10个整数
那么,我将如何着手实现这一点呢?换句话说,我如何将排列映射到每个字符并使其切换位置?我还没有学会结构。第一种情况: 一个简单的方法是在数组之间建立隐式链接
Array[int] --> Array[string]
1 --> "toto" Array[0]
0 --> "titi" Array[1]
2 --> "tutu" Array[2]
...
然后,如果你想排列两个元素,你可以移动字符串和指针
第二种情况:
您希望在数组之间建立真正的链接,因此我建议创建一个结构:
struct example
{
int ArrayInt[10];
char *ArrayPointer[10];
};
其中,ArrayPointer将包含位于字符串数组中的字符串的地址
例如:
STRUCTURE
Array[int] Array[char *] ArrayString
0 &ArrayString[1] "toto"
1 &ArrayString[0] "titi"
2 &ArrayString[2] "tutu"
数字0映射为“titi”
带“toto”的数字1
第二个是“图图”
要进行排列,只需更改结构中的指针即可
可以吗?您有一个包含所有字符串的数组和一个包含所有数字的数组,如char**和int*?您的两个阵列大小相同吗?(一个数字代表一个字符串)数组的大小是否移动?是的!整数数组是上面给定的排列-我只想将它们映射到每个字符。置换数组有10个值,字符数组少于400个字符,但我刚刚将其初始化为:char text[400];隐马尔可夫模型。。我还没有学会结构。我补充了更多关于我想表达的意思的解释。