Rêzkerdişê çimokan: Cudahiya di navbera guhartoyan de
Rûpela nû hate tomar kirin |
(Cudahî nîne)
|
Guhartoya 21:26, 28 tebax 2008
Rêzkerdişê çimokan miyanê algorîtmanê rêzkerdişanîde en rahat algorîtmawo. Algorîtma serra heta peynî xêzêde di tenan şano têver egir rêzê cînan rast nîyose cayê cînan bedelneno. Eno kar hêta gurkî bedalnayîşêke nêvirazyo dewam keno. Gava kar biqedyo xêzê kona rêze.
Nimûne
eno nimûnede awlocoy xêze ma "5 1 4 2 8" a, mago bi algorîtmaye Rêzkerdişê çimokan hejmaran enkickek ra enpîl bikerin rêze.
Dorê joyînan
( 5 1 4 2 8 ) ( 1 5 4 2 8 ) Etîya, algorîtma di elementan şano têver u cayê cinan bedelneno.
( 1 5 4 2 8 ) ( 1 4 5 2 8 )
( 1 4 5 2 8 ) ( 1 4 2 5 8 )
( 1 4 2 5 8 ) ( 1 4 2 5 8 ) Etîya, qeybigurkî rêzê di elementan rasto, cayê cinan nêbedelêno
Dorê diyînan
( 1 4 2 5 8 ) ( 1 4 2 5 8 )
( 1 4 2 5 8 ) ( 1 2 4 5 8 )
( 1 2 4 5 8 ) ( 1 2 4 5 8 )
( 1 2 4 5 8 ) ( 1 2 4 5 8 )
Enka, xêze kewte rêz, yabelê algorîtma hetagurkî bedelnayîşêke nêvirazîyo nêzano xêze kewta rêzê.
Dorê hîrînan
( 1 2 4 5 8 ) ( 1 2 4 5 8 )
( 1 2 4 5 8 ) ( 1 2 4 5 8 )
( 1 2 4 5 8 ) ( 1 2 4 5 8 )
( 1 2 4 5 8 ) ( 1 2 4 5 8 )
Enpeynide, xêze kewte rêz hendî algorîtma eşkena vindero.
Qodê Programî
Qodê algorîtmayê rezCimokî Java de.
import java.util.*; public class algoritm { /** * @param args */ public static void main(String[] args) { // TODO Auto-generated method stub // vende rêzÇimokî rezCimokMain(); } //xêzê kew temyarogunaye viraze u vende rêzÇimokî public static void rezCimokMain(){ List<Integer> xeze = shuffleXeze(); rezCimok(xeze); System.out.println("Xêza kewta rêze:\n" + xeze); } /*herguray xêzê ra di tenan(element) bide têver, egir teno verin pilose cayê cînan bibedelne hatagurki bedelnayişê ke nêvirazyo bigeyre serê xêzê u reyna banî tera*/ public static void rezCimok(List<Integer> xeze){ Boolean kewtareze = false; while(!kewtareze){ kewtareze = true; for (int i=0; i<xeze.size()-1;i++){ if (xeze.get(i)>xeze.get(i+1)){ //cay cînan bibedelne int bilesebe = xeze.get(i); xeze.set(i, xeze.get(i+1)); xeze.set(i+1, bilesebe); kewtareze = false; } } } } //xêzê ke viraze public static List<Integer> shuffleXeze(){ List<Integer> xeze = new ArrayList<Integer>(); createRandomData(xeze); Collections.shuffle(xeze); System.out.println("Xêza hama nêkewta rêze(temyarogunayî):\n" + xeze); return xeze; } //zeray xêzê bike pirî public static void createRandomData(List<Integer> xeze){ int enZede = 22; int derg = 5; Random RND = new Random(); for (int i=0; i<derg; i++){ xeze.add(new Integer(RND.nextInt(enZede))); } } }