0
我想了解哈希表和哈希方法(如除法和乘法),我想知道如何實現一個旋轉方法時,串行鍵。假設我有一個名爲int rotation(int value)
的函數,並且我有一個像int test = 123456
這樣的整數,並且我想要得到結果612345.通用實現這個功能的最佳方式是什麼(可以說1000個整數羣組的文本文件)?在C++中實現哈希旋轉方法的最佳方式是什麼?
我想了解哈希表和哈希方法(如除法和乘法),我想知道如何實現一個旋轉方法時,串行鍵。假設我有一個名爲int rotation(int value)
的函數,並且我有一個像int test = 123456
這樣的整數,並且我想要得到結果612345.通用實現這個功能的最佳方式是什麼(可以說1000個整數羣組的文本文件)?在C++中實現哈希旋轉方法的最佳方式是什麼?
int rotate(int value)
{
bool isNegative = value < 0;
if(isNegative)
value = -value;
int v = value % 10;
value /= 10;
while(v < value)
v *= 10;
value += v;
return isNegative ? -value : value;
}
這將根據他們的人數密碼的(123得到312,1234得4123)旋轉你的號碼。
對於文件的部分:你必須打開它,讀出的值,將其轉換爲int並調用該函數:
::std::ifstream in("filename");
if(in.fail())
{
// error
}
else
{
int n;
for(;;)
{
in >> n;
if(in.eof() || in.fail())
break;
::std::cout << rotate(n) << ::std::endl;
}
in.close();
}