2010-11-12 33 views
11

Matlab'da yığın veri yapısına sahip olabilir miyim?Matlab - Yığın Veri Yapısı

Örneğin I stack.push(i) gibi içinde itilmeye i = stack.pop() gibi bunun dışında elemanları almak ve stack.isempty() boş olup olmadığını kontrol edebilir bir tamsayı yığını.

+0

MATLAB 'tam' OOP yeteneklerine sahiptir. Sadece yığın sınıfını yaz. MATLAB OOP için belgelere bakın: http://www.mathworks.com/help/techdoc/matlab_oop/ug_intropage.html – zellus

cevap

18

MATLAB'ın daha yeni sürümlerde bile bir tane olduğunu sanmıyorum. Ama Java kullanabilirsiniz, bu MATLAB içinde "birinci sınıf vatandaş", ihtiyacınız olduğu kadar tamsayılarla mükemmel çalışır. Ayrıca queue ve linked-list ile ilgili sorular.

Sadece MATLAB stack=java.util.Stack() yazıp call methods on itstack.push(i), ecc.

+2

Sadece veri türü dönüşümlerine çok dikkat edin. –

+3

@Andrey Bu sadece beni ısırdı - Ben bir satır vektörünü bir yığına ittim ve onu attığımda, bir sütun vektörü olarak ortaya çıktı. –

5

Kendi başınızı veya this gibi bir başkasını kullanabilirsiniz.

Çok basit bir ev yapımı yığın, bir sayımla, sayımla en üstteki öğeyi gösteren bir dizi olabilir.

+0

Ancak kullanabileceğim bir materyale sahip değil misiniz? – Simon

+1

Jack, bir tane bulamadım. – Skurmedel

+0

@Jack - Java dışındakiler, no. – Marc

1

Java'yı MATLAB'de kullandım ve dürüstçe çok yavaş. Bu @skurmedel dediğini yapmak şöyle çok daha iyidir:

Ptr = 1; 
Stack(ptr,:) = [x,y]; 
Ptr = ptr + 1; 

Ve simüle etmek pop:

A = stack(ptr,1); 
B = stack(ptr,2); 
Ptr = ptr - 1;