配列の並び替えについて

投稿者: 投稿日:2018/04/21(Sat) 13:47:11 No.2060

 こんにちは、お世話になります。

 配列の並び替えについてです。
 下記のような感じで、ファイルの一覧(配列形式)があったとします。

----------
test1.dat
test1.txt
test2.dat
test2.txt
----------

 ※ 改行で区切っていますが、実際は配列のデータです。

 で、これを下記のような感じで並び替えたいのですが、何か良い方法はないでしょうか。

----------
test1.dat
test2.dat
test1.txt
test2.txt
----------

 何かアドバイス等いただけると幸いです。

 よろしくお願いいたします。

Re: 配列の並び替えについて

投稿者:とおりすがり 投稿日:2018/05/03(Thu) 09:13:38 No.2072

>  こんにちは、お世話になります。
>
>  配列の並び替えについてです。
>  下記のような感じで、ファイルの一覧(配列形式)があったとします。
>
> ----------
> test1.dat
> test1.txt
> test2.dat
> test2.txt
> ----------
>
>  ※ 改行で区切っていますが、実際は配列のデータです。
>
>  で、これを下記のような感じで並び替えたいのですが、何か良い方法はないでしょうか。
>
> ----------
> test1.dat
> test2.dat
> test1.txt
> test2.txt
> ----------
>
>  何かアドバイス等いただけると幸いです。
>
>  よろしくお願いいたします。


もっと簡単な書き方があると思いますが、私の分かる範囲での解決方法をば(プログラムには頭に★を入れておきます)

配列の中身が例文のままなら

★配列から2番目と3番目を交換したもの

でいいと思いますが数が多い場合は

★内容=「2」
★内容1=「3」

★繰り返す
★結果は、配列から[内容]番目と[内容1]番目を交換したもの
★内容=内容+4
★内容1=内容1+4
★繰り返す終わり

でいかがでしょうか?

Re^2: 配列の並び替えについて

投稿者: 投稿日:2018/05/05(Sat) 15:02:49 No.2073

 こんにちは、お世話になります。

 配列の内容は固定ではないので、ご提示いただいたサンプルは使えなかったのですが、とりあえず、自分で作ってみました。
 一応下記のスクリプトでやりたいことはできました。

----------
ファイル一覧は、{「test1.dat」, 「test1.txt」, 「test2.dat」, 「test2.txt」}
ファイル一覧を表示
拡張子一覧は、{}
ファイル一覧をファイル名にそれぞれ繰り返す
拡張子は、ファイル名の拡張子だけ
判定用拡張子は、拡張子の小文字
もし拡張子一覧から判定用拡張子を探したものが{}なら
判定用拡張子を拡張子一覧へ加える
もし終わり
繰り返し終わり
拡張子一覧を名前順に並び替える
新ファイル一覧は、{}
ループ回数は、(拡張子一覧の個数)*(ファイル一覧の個数)
番号は、1
[ループ回数]回繰り返す
対象拡張子は、拡張子一覧([番号])
ファイル一覧をファイル名にそれぞれ繰り返す
もしファイル名から「^.*\.[対象拡張子]$」という正規表現で取り出したものが{}でないなら
ファイル名を新ファイル一覧へ加える
もし終わり
繰り返し終わり
番号は、([番号]+1)
繰り返し終わり
新ファイル一覧を表示
----------

 ありがとうございました。
 今後ともよろしくお願いいたします。

▲ページの先頭へ

- WebForum -