日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問(wèn) 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) > 人文社科 > 生活经验 >内容正文

生活经验

从今天开始收集一些经典的算法。

發(fā)布時(shí)間:2023/11/27 生活经验 27 豆豆
生活随笔 收集整理的這篇文章主要介紹了 从今天开始收集一些经典的算法。 小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

一。用過(guò)excel的都知道excel的列編號(hào)是這樣的:
a b c?.... z aa ab ac .... az ba bb bc .... yz za zb zc .... zz aaa aab aac ....
分別代表以下編號(hào):
1 2 3?.... 26 27 28 29 .... 52 53 54 55 .... 676 677 678 679 .... 702 703 704 705 ....

請(qǐng)寫個(gè)函數(shù),完成從一個(gè)正整數(shù)到這種字符串之間的轉(zhuǎn)換。

程序如下:

using?System;?
?
namespace?ConsoleApplication1?
{?
????
class?Class1?
????
{?
????????
static?void?Main()?
????????
{?
????????????
for?(int?i?=?1;?i?<=?999;?i++)?
????????????
{?
????????????????Console.Write(
"{0,3}->{1,3}\t",?i,?Int2Excel(i));?
????????????}
?
????????????Console.ReadLine();?
????????}
?
?
????????
public?static?string?Int2Excel(int?i)?
????????
{?
????????????
string?s?=?"";?
?
????????????
int?m?=?i?%?26;?
????????????i?
=?i?/?26;?
????????????
while?(i?!=?0?||?m?!=?0)?
????????????
{?
????????????????
if?(m?==?0)?
????????????????
{?
????????????????????i
--;?
????????????????????m?
=?26;?
????????????????}
?
????????????????s?
=?Convert.ToChar(m?+?Convert.ToInt32('A')?-?1).ToString()?+?s;?
?
????????????????m?
=?i?%?26;?
????????????????i?
=?i?/?26;?
????????????}
?
?
????????????
return?s;?
????????}
?
????}
?
}
?


冒泡排序法:
private??void?startOrderAsc()
?52????????{
?53????????????char?temp;
?54???????????????????????
?55????????????//核心代碼(升序)
?56????????????for?(int?i=0;i<orderLength?;i++)
?57??????????????????for?(int?j?=?0;?j?<?orderLength?-?i-1;?j++)
?58??????????????????{
?59??????????????????????if?(Orderdata?[j].CompareTo?(Orderdata?[j+1])>0)
?60??????????????????????{
?61??????????????????????????temp?=?Orderdata[j];
?62??????????????????????????Orderdata[j]?=?Orderdata[j+?1];
?63??????????????????????????Orderdata[j?+?1]?=?temp;
?64
?65??????????????????????}
?
?66??????????????????}

?67????????????
?68????????}

這其實(shí)不是一個(gè)簡(jiǎn)單的10進(jìn)制轉(zhuǎn)26進(jìn)制的問(wèn)題,因?yàn)榛鶖?shù)不是從0到25,是從1到26。
因此如果遇到余數(shù)為0,低位就要向高位借1變26(而高位要減1)。

?

折半(對(duì)半、二分)查找

public static int Search(int[] src, int subject)
{
int low = 0, high = src.Length - 1;while (low <= high)
{
int mid = (low + high) / 2;
if (src[mid] < subject)
{
low = mid + 1;
}
else if (src[mid] > subject)
{
high = mid - 1;
}
else
{
return mid;
}
}
return -1;
} 


-------------------------------------------------------------------------------------------------------------
摘自http://www.cnblogs.com/Laser_Lu/archive/2005/04/13/136841.html

轉(zhuǎn)載于:https://www.cnblogs.com/mrhgw/archive/2005/11/10/272872.html

總結(jié)

以上是生活随笔為你收集整理的从今天开始收集一些经典的算法。的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。

如果覺(jué)得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。