忍者ブログ
読みは「うじろぐ」。ご利用は自己責任で。忍者ブログにも広告が出るようになって残念。
[399] [398] [388] [387] [386] [383] [379] [367] [366] [360] [357]
×

[PR]上記の広告は3ヶ月以上新規記事投稿のないブログに表示されています。新しい記事を書く事で広告が消えます。

ランダムソートというと冗談のようですが
ようは配列のシャッフルをC言語で行う方法。


#include<stdio.h>
#include<stdlib.h>
#include<time.h>
void main(){
    int i, j, r;
    int N[10];
    int N1[10];
    for( i=0; i<10; i++ ){
        N[i] = i+1;
    }
    srand( (unsigned)time(NULL) );
    for( i=0; i<10; i++ ){
        r = rand() % (10-i);
        N1[i] = N[r];
        for( j=r; j<10-i-1; j++ ){
            N[j] = N[j+1];
        }
    }
    for( i=0; i<10; i++ ){
        printf("%d\n",N1[i]);
    }
}


これで配列Nの中身をシャッフルした結果が配列N1に入るはず。
乱数の精度とかはシラネ。
もっとスマートなやり方があったら教えて。


2011/07/09 追記
もっとスマートなやり方があった。
http://file.ujilog.blog.shinobi.jp/main.html#tagC6


PR
この記事にコメントする
お名前
タイトル
文字色
URL
コメント
パスワード Vodafone絵文字 i-mode絵文字 Ezweb絵文字
管理人のみ閲覧可能にする    
この記事へのトラックバック
この記事にトラックバックする:
ブログ内検索
バーコード
アクセス解析
Powered by ニンジャブログ  Designed by ゆきぱんだ
Copyright (c) 氏ログ All Rights Reserved
忍者ブログ / [PR]