-
Notifications
You must be signed in to change notification settings - Fork 1
/
Copy pathsortowaniewyrazow.js
105 lines (78 loc) · 2.34 KB
/
sortowaniewyrazow.js
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
var fs = require("fs");
var rl2;
const readline = require('readline');
var m = 0;
var k = 0;
var niska_kreska;
var najwyzsza_kreska;
function WczytajWyrazyZPliku(){
console.log('czytamy z pliku');
line_no=0;
rl2 = readline.createInterface({
input: fs.createReadStream('./slowa_en.txt'),
output: process.stdout,
terminal: false
});
rl2.on('line', (line) => {
if (line.length>0)
{
var user = new Object();
user.wyraz=line;
wyrazy.push(user);
}
line_no++;
});
rl2.on('close', function(line) {
console.log('Total lines : ' + line_no);
console.log('przeczytane :' + wyrazy.length);
SelectionSortWyraz();
});
}
function SelectionSortWyraz(){
var wyrazy=[];
wyrazy = require('./wyrazy-4-en.json');
//wyrazy = require('./wyrazy-2.json');
//sortowanie przez wybieranie
iIlePrzejsc = 0;
var iKtoraNajnizsza = 0;
console.log("PRZED:")
for(let iIter1=0;iIter1<100;iIter1++)
{
//if(wyrazy[iIter1].wyraz=="") console.log("pusta");
console.log(wyrazy[iIter1].wyraz)
}
console.log(`rozpoczynam sortowanie przez wybieranie`)
for (var iIter2=0;iIter2<wyrazy.length;iIter2++)
//for (var iIter2=0;iIter2<10000;iIter2++)
{
//ustawiamy początkowe wartości
niska_kreska = wyrazy[iIter2].wyraz;
iKtoraNajnizsza = iIter2;
//wyszukiwanie najmniejszej wartości
for(var iIter1 = iIter2; iIter1 < wyrazy.length; iIter1++){
//porównujemy najmniejszą znalezioną do tej pory z aktualną
if (niska_kreska > wyrazy[iIter1].wyraz){
//znaleziona mniejsza - wstawiamy jako najmnijesza
niska_kreska = wyrazy[iIter1].wyraz;
//zapamiętujemy pozycję najmniejszej
iKtoraNajnizsza = iIter1;
}
//efektywność algorytmu
iIlePrzejsc++;
}
//zamieniamy miejscami najmniejszą i aktualną
oCzlowiek = wyrazy[iKtoraNajnizsza];
wyrazy[iKtoraNajnizsza]=wyrazy[iIter2];
wyrazy[iIter2]=oCzlowiek;
if (iIter2%1000==0) console.log(`SS iter: ${iIter2}`) ;
}
console.log(`przejsc sortowania przez wybieranie: ${iIlePrzejsc}`)
console.log("PO SORTOWANIU:")
for(let iIter1 = 0; iIter1 < 100; iIter1++)
{
console.log(`wyraz: ${wyrazy[iIter1].wyraz}`);
}
}
//var wyrazy=[];
//WczytajWyrazyZPliku();
SelectionSortWyraz();