【ruby】enqueueとdequeueを書いてみた!


スクリーンショット 2015-01-17 12.54.21

まえがき
アイキャッチ使い回しでごめんなさい!用意するのがめんどかったのです!←

どうもどうも!
本日バイト中に友人と議論になりまして。それは「enqueueとdequeueって実務に全く使えないのではないかな?」と僕が言った事がことの発端でした。事実僕は実務でenqueueとdequeue使った事無いんですよ。まあ触っているものが触っているものだったのもあるのでしょうが、授業の中だけでしか使わないただのアルゴリズムだと思っていたのです。それを愚痴ったところ「そんなことはない!」と力説されまして。

いろいろ調べてみたのですがQueueのメカニズムはとても大事なようですね。僕が間違っていました。月間PV50,000(statpress調べ)のこの場で謝罪させていただきます。ごめんなさい。

ジョブキューっていうのが凄く便利そうなので近々ちょっと勉強してみたいなと思いました。
参考:http://gihyo.jp/dev/serial/01/perl-hackers-hub/001001

この記事結構古いみたいなので今はもうちょい新しいのあるのかな?とりあえずwebでお買い物とかするこのご時世バックグラウンドでかなりQueue使うものなのだなと分かったのでちゃんと一通りメカニズム勉強しておかなきゃなと思います。



基礎中の基礎!enqueueとdequeue!
どんなプログラミングの授業でも出てくるこれ!enqueueとdequeueですね!とりあえず最近一番使っているrubyで書いてみました。

require 'thread'

q = Queue.new
hoge = 1

while hoge > 0 do
	print "\n1.EnQueue"
	print "\n2.DeQueue"
	print "\n3.Exit"
	print "\nChoose Option: "
	i = gets.chomp.to_i
	
	if i==1 then
		print "enq number: "
		j = gets
		q.push j
		print "Length is:"
		print q.length
		print "\n"
		
	elsif i==2 then
		if q.length > 0 then
			k = q.shift
			puts k
		else
			puts "error"
		end
		
	elsif i==3 then
		break
		
	else
		puts "put 1 - 3"
	end
end

Cで書いた時より断然気持ちが良いです。
もうちょいスマートに書けそうですが現状の知識で「Queueといったらこれ!」と思い立ったenqueueとdequeueだけ書いてみました。流石にもうちょい勉強していじいじする予定なので、その都度記事に出来たらなと思います。


最後まで読んでいただきありがとうございます。もしこの記事を気に入って頂けたようであればシェアをお願い致します。非常に励みになります。


コメントを残す