欧美午夜理伦三级在线观看_久久露脸国产精品_狠狠色综合网站久久久久久久_国产V综合V亚洲欧_18禁裸乳无遮挡免费观看

歡迎來到鹽山昱通螺旋鋼管實體生產(chǎn)企業(yè)!

服務(wù)熱線:

139-0327-6700

銷售熱線:

0317-5760336

昱通管道

鹽山昱通管道

專業(yè)生產(chǎn)銷售大口徑厚壁國標螺旋鋼管,廠內(nèi)加工防腐/保溫/涂塑

×
服務(wù)熱線:

139-0327-6700

新聞中心

您現(xiàn)在的位置:
首頁 > 行業(yè)資訊 > 企業(yè)動態(tài) > 螺旋算法 Spiral algorithm

螺旋算法 Spiral algorithm

日期:2022-05-17

螺旋式優(yōu)化算法分成內(nèi)旋和外旋,文中之內(nèi)旋為例子,如下圖

思路一:

復(fù)位二維數(shù)組,原始元素值是0從正中間挑選一個元素做為起始點1,將選定的元素先后往右邊挪動,向下移動,往左邊挪動,往上挪動,每移動到一個新元素上,就把計數(shù)器的值賦給它假如元素沒法開展第2點多的運動了,撤出挪動,打印出數(shù)組。

思路二:

復(fù)位二維數(shù)組,原始元素值是0從正中間挑選一個元素做為中心點1,以中心點為核心,以R=1為的半徑旋轉(zhuǎn),旋轉(zhuǎn)到的元素賦上計數(shù)器值,一圈旋轉(zhuǎn)進行,計數(shù)器 1,再次旋轉(zhuǎn)的半徑所去的元素超過數(shù)組范疇時,撤出。打印出數(shù)組。

思路一的源代碼:

package ** inimport ( "golang.org/x/exp/errors/fmt" "testing")const ** xX, ** xY = 9, 9func TestSpiral(t *testing.T) { x, y := 3, 3 var arr [ ** xX][ ** xY]int arr[x][y] = 1 ok := false for { arr, x, y, ok = moveRight(arr, x, y) print(t, arr) if ok { break } arr, x, y, ok = moveDown(arr, x, y) print(t, arr) if ok { break } arr, x, y, ok = moveLeft(arr, x, y) print(t, arr) if ok { break } arr, x, y, ok = moveUp(arr, x, y) print(t, arr) if ok { break } }}func moveRight(cur [ ** xX][ ** xY]int, x, y int) (newValue [ ** xX][ ** xY]int, newX, newY int, isComplete bool) { value := cur[x][y] for { y value if y <= ** xY { cur[x][y] = value } else { return cur, x, y, true } if cur[x 1][y] == 0 { return cur, x, y, false } }}func moveDown(cur [ ** xX][ ** xY]int, x, y int) (newValue [ ** xX][ ** xY]int, newX, newY int, isComplete bool) { value := cur[x][y] for { x value if x <= ** xX { cur[x][y] = value } else { return cur, x, y, true } if cur[x][y-1] == 0 { return cur, x, y, false } }}func moveLeft(cur [ ** xX][ ** xY]int, x, y int) (newValue [ ** xX][ ** xY]int, newX, newY int, isComplete bool) { value := cur[x][y] for { y-- value if y >= 0 { cur[x][y] = value } else { return cur, x, y, true } if cur[x-1][y] == 0 { return cur, x, y, false } }}func moveUp(cur [ ** xX][ ** xY]int, x, y int) (newValue [ ** xX][ ** xY]int, newX, newY int, isComplete bool) { value := cur[x][y] for { x-- value if x >= 0 { cur[x][y] = value } else { return cur, x, y, true } if cur[x][y 1] == 0 { return cur, x, y, false } }}func print(t *testing.T, cur [ ** xX][ ** xY]int) { fmt.Println("------------------") for _, v := range cur { fmt.Println(v) }}

聯(lián)系我們

  • 地 址:鹽山經(jīng)濟開發(fā)區(qū)蒲洼城園區(qū)
  • 電 話:139-0327-6700
  • 傳 真:0317-576-0336
  • 服務(wù)投訴監(jiān)督電話:0317-5760336

微信掃一掃獲取
螺旋管今天價格

螺旋算法 Spiral algorithm
欧美午夜理伦三级在线观看_久久露脸国产精品_狠狠色综合网站久久久久久久_国产V综合V亚洲欧_18禁裸乳无遮挡免费观看