Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

Commit 4285f90

Browse files
committed
VisualSortArray: Added and made use of new helper method that performs less checking.
1 parent 46fda3d commit 4285f90

File tree

1 file changed

+12
-8
lines changed

1 file changed

+12
-8
lines changed

‎src/io/nayuki/sortalgodemo/visual/VisualSortArray.java‎

Lines changed: 12 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -95,13 +95,13 @@ public int compare(int i, int j) {
9595
if (Thread.interrupted())
9696
throw new StopException();
9797

98-
setElement(i, ElementState.COMPARING);
99-
setElement(j, ElementState.COMPARING);
98+
setElementInternal(i, ElementState.COMPARING);
99+
setElementInternal(j, ElementState.COMPARING);
100100
regulateSpeed();
101101
comparisonCount.setOpaque(comparisonCount.getPlain() + 1);
102102

103-
setElement(i, ElementState.ACTIVE);
104-
setElement(j, ElementState.ACTIVE);
103+
setElementInternal(i, ElementState.ACTIVE);
104+
setElementInternal(j, ElementState.ACTIVE);
105105

106106
return super.compare(i, j);
107107
}
@@ -114,17 +114,16 @@ public void swap(int i, int j) {
114114
if (Thread.interrupted())
115115
throw new StopException();
116116
swapCount.setOpaque(swapCount.getPlain() + 1);
117-
setElement(i, ElementState.ACTIVE);
118-
setElement(j, ElementState.ACTIVE);
117+
setElementInternal(i, ElementState.ACTIVE);
118+
setElementInternal(j, ElementState.ACTIVE);
119119
regulateSpeed();
120120
}
121121

122122

123123
/* Array visualization */
124124

125125
public void setElement(int index, ElementState state) {
126-
Objects.requireNonNull(state);
127-
this.states[index] = state.ordinal();
126+
setElementInternal(index, Objects.requireNonNull(state));
128127
}
129128

130129

@@ -134,6 +133,11 @@ public void setRange(int start, int end, ElementState state) {
134133
}
135134

136135

136+
private void setElementInternal(int index, ElementState state) {
137+
states[index] = state.ordinal();
138+
}
139+
140+
137141
public int getValue(int index) {
138142
return values[index];
139143
}

0 commit comments

Comments
(0)

AltStyle によって変換されたページ (->オリジナル) /