mirror of
https://github.moeyy.xyz/https://github.com/trekhleb/javascript-algorithms.git
synced 2024-12-27 15:41:16 +08:00
Merge pull request #10 from albertstill/improve-bubble-sort
stop bubble sort revisiting already sorted elements
This commit is contained in:
commit
99bef391d0
@ -7,13 +7,13 @@ export default class BubbleSort extends Sort {
|
||||
// Clone original array to prevent its modification.
|
||||
const array = [...originalArray];
|
||||
|
||||
for (let i = 0; i < array.length; i += 1) {
|
||||
for (let i = 1; i < array.length; i += 1) {
|
||||
swapped = false;
|
||||
|
||||
// Call visiting callback.
|
||||
this.callbacks.visitingCallback(array[i]);
|
||||
|
||||
for (let j = 0; j < array.length - 1; j += 1) {
|
||||
for (let j = 0; j < array.length - i; j += 1) {
|
||||
// Call visiting callback.
|
||||
this.callbacks.visitingCallback(array[j]);
|
||||
|
||||
|
@ -9,8 +9,8 @@ import {
|
||||
|
||||
// Complexity constants.
|
||||
const SORTED_ARRAY_VISITING_COUNT = 20;
|
||||
const NOT_SORTED_ARRAY_VISITING_COUNT = 280;
|
||||
const REVERSE_SORTED_ARRAY_VISITING_COUNT = 400;
|
||||
const NOT_SORTED_ARRAY_VISITING_COUNT = 189;
|
||||
const REVERSE_SORTED_ARRAY_VISITING_COUNT = 209;
|
||||
const EQUAL_ARRAY_VISITING_COUNT = 20;
|
||||
|
||||
describe('BubbleSort', () => {
|
||||
|
Loading…
Reference in New Issue
Block a user