2つの秩序配列を新しい秩序配列に結合
4026 ワード
2つの秩序配列を新しい秩序配列に統合し,システムのAPIを用いずに実装できる方法は実際には多様である.
1.まず2つの秩序配列を1つの新しい配列に結合し、並べ替えて新しい秩序配列にする.このメソッドプログラムは実行できるが、最適な方法ではないはずだ.
2.2つの秩序配列を比較し、新しい配列に順次入れ、1回のループだけで新しい秩序配列を生成します.最適な方法かどうか分かりませんが、最適な方法を教えてください.
3.グループの中の黒ちゃんが書いたものを加えると、個人的には泡のソートに似ていると思います.
1.まず2つの秩序配列を1つの新しい配列に結合し、並べ替えて新しい秩序配列にする.このメソッドプログラムは実行できるが、最適な方法ではないはずだ.
a = [1,5,9,10]
b = [2,6,7]
c=[]
for i in 0..a.length-1
c<<a[i]
end
for i in 0..b.length-1
c<<b[i]
end
for i in 0..c.length-2
for j in 0..c.length - i -2
if c[j]>c[j+1]
temp = c[j]
c[j] = c[j+1]
c[j+1] = temp
end
end
end
p c
2.2つの秩序配列を比較し、新しい配列に順次入れ、1回のループだけで新しい秩序配列を生成します.最適な方法かどうか分かりませんが、最適な方法を教えてください.
a = [1,5,9,10,10]
b = [2,6,7]
c=[]
a1 = 0
b1 = 0
d = a.length+b.length-1
for i in 0..d
if a[a1] != nil and b[b1] != nil
if a[a1]<b[b1]
c<<a[a1]
a1 = a1 +1
else
c<<b[b1]
b1 = b1 + 1
end
else
if a[a1] == nil and b[b1] != nil
c<<b[b1]
b1 = b1 + 1
end
if b[b1] == nil and a[a1] != nil
c<<a[a1]
a1 = a1 + 1
end
end
end
p c
3.グループの中の黒ちゃんが書いたものを加えると、個人的には泡のソートに似ていると思います.
a = [1,5,9,10,32,43,453,1324,3213,3213,3214,3215]
b = [2,6,7,10,13,15,1314,1315,312314]
c=[]
n=0
for i in 0...a.length do
for j in n...b.length do
if a[i]>b[j]
c<<b[j]
n=n+1
end
end
c<<a[i]
end
p c