algorytm.org

Implementacja w JavaScript

Baza Wiedzy
wersja offline serwisu przeznaczona na urządzenia z systemem Android
Darowizny
darowiznaWspomóż rozwój serwisu
Nagłówki RSS
Artykuły
Implementacje
Komentarze
Forum
Bookmarki






Sonda
Implementacji w jakim języku programowania poszukujesz?

Sortowanie przez zliczanie (countingsort) - Implementacja w JavaScript
Ocena użytkownikóww: *****  / 2
SłabyŚwietny
Nadesłany przez Maciej Lipiński, 12 lutego 2016 01:49
Kod przedstawiony poniżej przedstawia główną część rozwiązania problemu.
Pobierz pełne rozwiązanie.

Jeżeli nie odpowiada Ci sposób formatowania kodu przez autora skorzystaj z pretty printer'a i dostosuj go automatycznie do siebie.

countingsort.js:
//COUNTINGSORT
//sorotowanie przez zliczanie
//www.algorytm.org

$(document).ready(function init(){

	//////////////////
	// COUNTINGSORT //
	//////////////////

	function CountingSort(myTable) {
		//zlicz elementy
		var countTable = [];
		for(var i=0; i<myTable.length; i++) {
			if (countTable[myTable[i]] === undefined) {
				countTable[myTable[i]] = 1;
			} else {
				countTable[myTable[i]]++;				
			}
		}
		//wygeneruj posortowana tablice na podstawie zliczonych elementow
		var sortedTable = [];		
		for(var j=0; j<countTable.length; j++) {
			if (countTable[j] !== undefined) {
				for(var k=1; k<=countTable[j]; k++) {
					sortedTable.push(j);
				}
			}
		}
		return sortedTable;
	}

	//////////
	// TEST //
	//////////

	function getRandom(min,max) {
	    var myRandom = max+1;
	    while (myRandom > max) {
	        myRandom = parseInt(Math.random()*(max-min+1) + min);
	    }
	    return myRandom;
	}
	function GenerateTable(min,max,length) {
		var myTable = [];
		for(var i=0; i<length; i++) {
			myTable.push(getRandom(min,max));
		}
		return myTable;
	}

	var tableBefore = GenerateTable(0,9,10);
	console.log(tableBefore);
	var tableAfter = CountingSort(tableBefore);
	console.log(tableAfter);


});



Dodaj komentarz