Rêzkerdişê çimokan

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.

Rêzkerdişê çimokan

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 ) Etiya, 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 ) Etiya, 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î

biguhêre

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)));
		}
	}
}

Girêdayêy teberî

biguhêre