C 生成唯一的字串或者數字

2021-05-28 07:37:32 字數 532 閱讀 9918

當我們想要獲得乙個唯一的key的時候,通常會想到guid。這個key非常的長,雖然我們在很多情況下這並不是個問題。但是當我們需要將這個36個字元的字串放在url中時,會使的url非常的醜陋。

想要縮短guid的長度而不犧牲它的唯一性是不可能的,但是如果我們能夠接受乙個16位的字串的話是可以做出這個犧牲的。

我們可以將乙個標準的guid 21726045-e8f7-4b09-abd8-4bcc926e9e28  轉換成短的字串 3c4ebc5f5f2c4edc

下面的方法會生成乙個短的字串,並且這個字串是唯一的。重複1億次都不會出現重複的,它也是依照guid的唯一性來生成這個字串的。

private string generatestringid()

return string.format("", i - datetime.now.ticks);

}如果你想生成乙個數字序列而不是字串,你將會獲得乙個19位長的序列。下面的方法會把guid轉換為int64的數字序列。

private long generateintid()

在C 中生成唯一的字串和數字

當我們想要獲得乙個唯一的key的時候,通常會想到guid。這個key非常的長,雖然我們在很多情況下這並不是個問題。但是當我們需要將這個36個字元的字串放在url中時,會使的url非常的醜陋。想要縮短guid的長度而不犧牲它的唯一性是不可能的,但是如果我們能夠接受乙個16位的字串的話是可以做出這個犧牲...

字串中的字元是否唯一

實現乙個演算法來判斷乙個字串中的字元是否唯一 即沒有重複 不能使用額外的資料結構。即只使用基本的資料結構 字串中的字元是否唯一?一拿到題很容易就能想到以hash的方式來做。只能用基本的資料結構的要求其實很明顯的也在提示我們,只要那個陣列模擬成hash即可。字串中有26個字母。注 若不止包含26個字母...

判斷字串是否唯一?

實現乙個演算法,確定乙個字串 s 的所有字元是否全都不同。示例 1 輸入 s abcdeff 輸出 false 示例 2 輸入 s abc 輸出 true思路1 根據字符集大小定義乙個合理的陣列arr例如,ascii 256,定義個256大小的陣列,遍歷字串s,設定s i 最後統計arr長度,跟s的...