Windowsのバージョンみたいなのをソート処理だけで正しい順番にできる?

1 名前:ひみつの名無しさん 投稿日時:2020/06/22(月) 18:46:14.860 ID:bWGrsvcgp
Windows2000とWindows8とWindows10みたいなのを
vistaとかはさすがにいらないけど
2 名前:ひみつの名無しさん 投稿日時:2020/06/22(月) 18:46:47.708 ID:984Frx2a0
3 名前:ひみつの名無しさん 投稿日時:2020/06/22(月) 18:48:05.330 ID:lCQzMLmSr
配列のソート処理に独自のロジック書けばできなくはない
4 名前:ひみつの名無しさん 投稿日時:2020/06/22(月) 18:48:09.623 ID:bWGrsvcgp
普通にソート処理すると

win10
win2000
win8みたいになるじゃん?

せめて
8
10
2008みたいな並びにしたい

5 名前:ひみつの名無しさん 投稿日時:2020/06/22(月) 18:48:37.442 ID:qMvec7sb0
たぶん意外と難しい
6 名前:ひみつの名無しさん 投稿日時:2020/06/22(月) 18:48:54.044 ID:JYkVqjU0d
できる
7 名前:ひみつの名無しさん 投稿日時:2020/06/22(月) 18:49:05.089 ID:/pKELtxZ0
個別にID振った方がいいよ
8 名前:ひみつの名無しさん 投稿日時:2020/06/22(月) 18:49:10.637 ID:Z2ILLozO0
何でそれを実現したいのかしらんけど
そのままじゃ無理
別途なにか参照できるものがないと
9 名前:ひみつの名無しさん 投稿日時:2020/06/22(月) 18:49:21.994 ID:L6fxo2O+0
ソートってエクスプローラーの並び替え?
たぶん無理だと思うよ
10 名前:ひみつの名無しさん 投稿日時:2020/06/22(月) 18:49:56.854 ID:kzqJbempp
別のシーケンスが必要だろ
11 名前:ひみつの名無しさん 投稿日時:2020/06/22(月) 18:51:01.299 ID:bWGrsvcgp
やっぱソートに独自ロジック書いても他に情報ないと難しいのかなぁ
12 名前:ひみつの名無しさん 投稿日時:2020/06/22(月) 18:52:51.451 ID:Wm2OvUkw0
ソートのアルゴリズムいじれるなら
win8
win10
win2000
はいけるだろ
13 名前:ひみつの名無しさん 投稿日時:2020/06/22(月) 18:52:52.613 ID:bWGrsvcgp
例えば
文字と数字を切ってオブジェクト配列にぶち込んで
文字でオブジェクトごとソートした後に数字でやってもぐちゃぐちゃになるだけよね?
14 名前:ひみつの名無しさん 投稿日時:2020/06/22(月) 18:53:07.820 ID:L6fxo2O+0
プログラミングの話なら普通に文字列とwindows取り除いた数字で昇順にすればいいのでは
15 名前:ひみつの名無しさん 投稿日時:2020/06/22(月) 18:53:16.120 ID:IXqwYbdnr
windowsAPI使えばできるけど他はわからん
ロジカルソートとか調べれば情報あるかもね
16 名前:ひみつの名無しさん 投稿日時:2020/06/22(月) 18:53:31.631 ID:K4TRiVfzM
何がしたいんやろ
17 名前:ひみつの名無しさん 投稿日時:2020/06/22(月) 18:53:41.276 ID:/pKELtxZ0
独自ロジックはやめておいた方がいいよ
名前の付け方のルールなんてMSの匙加減一つでどうにでも変わるんだから番号振ってそれでソートって単純な作りの方が良いよ
18 名前:ひみつの名無しさん 投稿日時:2020/06/22(月) 18:53:41.694 ID:MJkrw9Fg0
独自ロジック入れるなら
windowsの名称をシーケンス値に変換する変換テーブル実装するんだな
19 名前:ひみつの名無しさん 投稿日時:2020/06/22(月) 18:54:24.010 ID:984Frx2a0
digitでfilterして数字にキャストしたもので比較するのを比較関数にすれば?
20 名前:ひみつの名無しさん 投稿日時:2020/06/22(月) 18:54:26.465 ID:ECQql5a10
情弱には無理だけどwin10の標準機能の設定だけでできるよ
お前ら知らんのかw だっさw
21 名前:ひみつの名無しさん 投稿日時:2020/06/22(月) 18:54:45.019 ID:82k8y0f30
自分で順番定義しておくしかないね
22 名前:ひみつの名無しさん 投稿日時:2020/06/22(月) 18:54:45.885 ID:bWGrsvcgp
Windowsだけなら千切るんだけどLinux Macその他諸々ごちゃ混ぜだから頭こんがらがって
23 名前:ひみつの名無しさん 投稿日時:2020/06/22(月) 18:55:15.977 ID:FedvpgS+d
正規表現で数字だけぬいてソートするとか
24 名前:ひみつの名無しさん 投稿日時:2020/06/22(月) 18:55:32.023 ID:IXqwYbdnr
ナチュラルソートだった
25 名前:ひみつの名無しさん 投稿日時:2020/06/22(月) 18:55:41.687 ID:MJkrw9Fg0
リリース年月日を持ってきてソートするのが一番だな
26 名前:ひみつの名無しさん 投稿日時:2020/06/22(月) 18:56:17.366 ID:EO2VzdvC0
ビルド番号でソートすりゃいいだけじゃないの
27 名前:ひみつの名無しさん 投稿日時:2020/06/22(月) 18:57:30.411 ID:bWGrsvcgp
OSとかの情報とかもろもろ持ってる所からデータ引っ張って一覧に出すんだけどその順番を綺麗にしたくて
28 名前:ひみつの名無しさん 投稿日時:2020/06/22(月) 18:58:27.877 ID:+fIkBPYcd
01.Windows 2000
02.Windows 8
03.Windows10
33 名前:ひみつの名無しさん 投稿日時:2020/06/22(月) 19:03:03.380 ID:/JKwWSld0
>>28
これでいいや
29 名前:ひみつの名無しさん 投稿日時:2020/06/22(月) 18:59:40.875 ID:kzqJbempp
対象のデータ形式はなんなの?
csv?
XML?
json?
rdb?
32 名前:ひみつの名無しさん 投稿日時:2020/06/22(月) 19:02:43.861 ID:bWGrsvcgp
>>29
わかんにゃい
擬似DBみたいなとこから引っ張ってオブジェクトに入れたプロパティからそこだけさらに抜いてるから
30 名前:ひみつの名無しさん 投稿日時:2020/06/22(月) 18:59:51.213 ID:bWGrsvcgp
ABC順に並べた後文字数に関係なくなるべく若い番号順にに並べたい

数値の一桁目だけ抜き出してソートすればいけそう?

31 名前:ひみつの名無しさん 投稿日時:2020/06/22(月) 19:01:37.888 ID:ukklhPTO0
数字は辞書式か論理式かで(用語は忘れたけど)
1, 10, 2
になるのと
1, 2, 10
になる流儀がある
Winだとエクスプローラの名前順ではデフォルトで後者になるが、コマンドプロンプトのdirだと確か前者になる
35 名前:ひみつの名無しさん 投稿日時:2020/06/22(月) 19:03:14.380 ID:BnGd9u6dH
個別にルール作ってやればよくね、大した数じゃないし

コメント

タイトルとURLをコピーしました