1仕様書無しさん2019/11/23(土) 14:12:25.88
副プログラムを再帰的に呼び出すのは分かるのですが、配列の最初と最後の添字を入れる変数に
最初に具体的な数字を入れなくてもいいのはなぜですか?
2仕様書無しさん2019/11/23(土) 14:19:05.06
使うときまでには入ってるだろ
3仕様書無しさん2019/11/23(土) 14:26:34.93
>>2
擬似言語で学習しているのですが、最初の添字を入れる変数Leftと最後の添字を入れるRightを宣言して
副プログラムの引数に設定すれば自分でLeftに0やRightにnを入れなくても勝手に認識してくれるのですか? 4仕様書無しさん2019/11/23(土) 14:31:37.68
俺がしってるどんな実言語もしない
ちょっとコード貼ってってみてくれんか
5仕様書無しさん2019/11/23(土) 14:55:43.94
その擬似言語ってのが
この板の誰にもわからんと思う
6仕様書無しさん2019/11/23(土) 15:34:19.78
>>4
○大域:整数型:array[9] = {5,4,7,6,8,3,1,2,9}
○副プログラム:QuickSort {整数型:array [ ], 整数型:left, 整数型 : right}
○整数型 : left, right, i, k, w
・i ←left + 1
・k←right
■ i < k /* 条件がtrueなら繰り返し */
|
| ■ array[i] < array [left] かつ i < right
| | ・i ← i + 1
| ■
|
| ■array[k] >= array[left] かつ k > left
| | ・k ←k - 1
| ■
|
| ↑ i < k /* 条件がtrueなら以下の処理 */
| | ・w ← array [i]
| | ・array[i] ← array[k]
| | ・array[k] ←w
| ↓
■ 7仕様書無しさん2019/11/23(土) 15:34:57.04
>>6 の続き
↑ array[left] > array [k]
| ・w ← array[left]
| ・array[left] ← array[k]
| ・array[k] ← w
↓
↑left < k - 1
| ・QuickSort (array, left, k - 1)
↓
↑k + 1 < right
| ・QuickSort (array, k+1, right)
↓ 8仕様書無しさん2019/11/23(土) 15:36:34.23
9仕様書無しさん2019/11/23(土) 16:38:12.71
>>8
ああ、なるほど。
これはleftとrightは引数であって
指定するという意味です。
QuickSortを一番最初に呼び出すときに、
Sortする範囲の下のIndexをLeft,上のIndexをRightに
指定すると考えればいいわけでして、
その最初の呼び出すところは、QuickSortを呼び出すユーザ側(?)
ということですので、
問題文には記載されていないということです。
次回から(2回目以降)の呼び出しは再帰呼び出しですから
自分自身のなかからleftとrightはセットして呼び出されています。
| ・QuickSort (array, left, k - 1)
↓
↑k + 1 < right
| ・QuickSort (array, k+1, right)
これら2つの呼び出しのところで、
それぞれrightがk-1にセットされて
leftのところがk+1にセットされているでしょ?
わかりますか? 10仕様書無しさん2019/11/23(土) 16:56:44.88
>>9
そうか、このプログラムを使う時に最初はユーザーが
QuickSort {ソートしたい配列, 0, 末の添字}
と入力するからプログラムの記述にはLeftとRightの初期値が必要ない
という理解でOKですか? 11仕様書無しさん2019/11/24(日) 13:14:26.97
12仕様書無しさん2019/11/24(日) 16:29:05.97
13仕様書無しさん2019/12/06(金) 20:25:32.86
よくソートってアルゴリズムの勉強で出てくるけど
使う機会ってあるの?
関数一発とかじゃないの?
14仕様書無しさん2019/12/06(金) 21:49:23.40
一般教養
15仕様書無しさん2019/12/06(金) 22:57:55.11
高層ビルの建築家は釘を打てなきゃいけない
SEはコード書けないといけない
レベルの根性論
16仕様書無しさん2019/12/06(金) 23:36:48.89
体育の先生がパソコン部の顧問になって
マウスクリック10セットさせられたなんて冗談が昔あったな
根性論で思い出した
17仕様書無しさん2019/12/07(土) 01:53:08.64
>>13
> 関数一発とかじゃないの?
その関数は誰かが作ったものなんだよ。
低学歴の馬鹿プログラマは、
そういう高度な仕事をする機会はない。 18仕様書無しさん2019/12/07(土) 07:24:24.91
そういって彼は自社フレームワークを作ったのであった
19仕様書無しさん2019/12/07(土) 14:55:54.13
20仕様書無しさん2019/12/07(土) 16:14:18.62
高度かどうかなんてのは状況によって違うに決まってるだろ馬鹿たれが。
アバウトに書いただけだ。
判断は各自がすることだろ?w
そんな簡単なことも理解できずに
「揚げ足とったたわ!おれって天才!」
とか笑える。ウソつきの馬鹿め!
21仕様書無しさん2019/12/07(土) 19:46:38.27
22仕様書無しさん2019/12/07(土) 22:30:22.07
さっしろよクソチョンの嘘つきw
23仕様書無しさん2019/12/07(土) 22:34:37.74
ITでは日本は後進国ですよ
24仕様書無しさん2019/12/07(土) 22:36:12.44
クイックソートもわからないジャップは知恵遅れ民族と先のサミットで認定されてた
25仕様書無しさん2019/12/07(土) 22:48:29.33
場面によって適切なソートが選択できることが大事かな?
26仕様書無しさん2019/12/08(日) 00:13:08.55
いまどきソート処理ひとつでいつまでやってんだって思う
27仕様書無しさん2019/12/08(日) 00:29:49.09
すさまじい件数があるときはそもそもソートをしない仕組みから手を入れる必要がある
28仕様書無しさん2019/12/08(日) 01:33:48.95
そーっとしてけよ
ソートだけに
なんちゃって
29仕様書無しさん2019/12/08(日) 02:21:52.92
濁音とか渡辺と渡邊はどっちが先かみたいな場合とかあるだろ
30仕様書無しさん2019/12/09(月) 10:11:19.65
ソートなんてインデックスで頭出ししとけば普通に速くなるだろ。