Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
76 changes: 76 additions & 0 deletions Lesson3/Algorithms/sort/insertion/.gitignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,76 @@
##############################
## Java
##############################
.mtj.tmp/
*.class
*.jar
*.war
*.ear
*.nar
hs_err_pid*

##############################
## Maven
##############################
target/
pom.xml.tag
pom.xml.releaseBackup
pom.xml.versionsBackup
pom.xml.next
pom.xml.bak
release.properties
dependency-reduced-pom.xml
buildNumber.properties
.mvn/timing.properties
.mvn/wrapper/maven-wrapper.jar

##############################
## Gradle
##############################
bin/
build/
.gradle
.gradletasknamecache
gradle-app.setting
!gradle-wrapper.jar

##############################
## IntelliJ
##############################
out/
.idea/
.idea_modules/
*.iml
*.ipr
*.iws

##############################
## Eclipse
##############################
.settings/
tmp/
.metadata
.classpath
.project
*.tmp
*.bak
*.swp
*~.nib
local.properties
.loadpath
.factorypath

##############################
## NetBeans
##############################
nbproject/private/
nbbuild/
dist/
nbdist/
nbactions.xml
nb-configuration.xml

##############################
## OS X
##############################
.DS_Store
Original file line number Diff line number Diff line change
@@ -0,0 +1,36 @@
package algorithms.eratosfen;

import java.util.Arrays;

public class Eratosfen {

public boolean[] primes;

public Eratosfen(int range) {
primes = new boolean[range + 1];
}

public void fillSieve() {
Arrays.fill(primes, true);

primes[0] = false;
primes[1] = false;

for (int i = 2; i < primes.length; ++i) {
if (primes[i]) {
for (int j = 2; i * j < primes.length; ++j) {
primes[i * j] = false;
}
}
}
}

public void displayAllNumbers() {
fillSieve();
for (int i = 0; i < primes.length; i++) {
if (primes[i]) {
System.out.print(i + " ");
}
}
}
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,14 @@
package algorithms.fibonacci;

public class FibonacciSequence {

public int[] calculatingFibonacciNumbers(int quantity) {
int[] fib = new int[quantity];
fib[0] = 0;
fib[1] = 1;
for (int i = 2; i < quantity; ++i) {
fib[i] = fib[i - 1] + fib[i - 2];
}
return fib;
}
}
78 changes: 78 additions & 0 deletions Lesson3/Algorithms/sort/insertion/src/algorithms/main.java
Original file line number Diff line number Diff line change
@@ -0,0 +1,78 @@
package algorithms;

import algorithms.eratosfen.Eratosfen;
import algorithms.fibonacci.FibonacciSequence;
import algorithms.mylinkedlist.twowaylinkedlist.MyTwoWayLinkedList;
import algorithms.mylinkedlist.twowaylinkedlist.MyTwoWayLinkedListImpl;
import algorithms.sort.Sort;

public class main {
public static void main(String[] args) {
System.out.println("Сортировка методом вставки:");
checkSortAlgorithm();

System.out.println("Последовательность фибоначи:");
checkFibonacciSequenceAlgorithm();

TwoSideMyLinkedListImplTest();

Eratosfen eratosfen = new Eratosfen(100);
eratosfen.displayAllNumbers();

}

private static void TwoSideMyLinkedListImplTest() {
MyTwoWayLinkedList<Integer> myLinkedList = new MyTwoWayLinkedListImpl<>();

myLinkedList.insertFirst(18);
myLinkedList.insertFirst(457);
myLinkedList.insertFirst(12);
myLinkedList.insertFirst(54);
myLinkedList.insertLast(6);

myLinkedList.insertLast(584);

myLinkedList.display();

System.out.println("Contains 18: " + myLinkedList.contains(18));
System.out.println("Contains 7: " + myLinkedList.contains(7));
System.out.println("Contains 457: " + myLinkedList.contains(457));
System.out.println("Contains 24: " + myLinkedList.contains(24));
System.out.println("Contains 584: " + myLinkedList.contains(584));

myLinkedList.display();

myLinkedList.removeFirst();
myLinkedList.remove(6);

myLinkedList.display();
}

private static void checkFibonacciSequenceAlgorithm() {
FibonacciSequence fibonacci = new FibonacciSequence();
printArray(fibonacci.calculatingFibonacciNumbers(20));
}

private static void checkSortAlgorithm() {
int[] array = new int[10];
Sort sort = new Sort();
fillArray(array);
printArray(array);

sort.insertionSort(array);
printArray(array);
}

private static void fillArray(int[] array) {
for (int i = 0; i < array.length; i++) {
array[i] = (int) Math.round(Math.random() * 100);
}
}

private static void printArray(int[] array) {
for (int i = 0; i < array.length; i++) {
System.out.print(array[i] + " ");
}
System.out.println();
}
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
package algorithms.mylinkedlist;

import java.util.Iterator;

public interface MyIterator<E> extends Iterator<E> {
void reset();
void insertBefore(E value);
void insertAfter(E value);
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,21 @@
package algorithms.mylinkedlist;


public interface MyLinkedList<E> extends Iterable<E> {
void insertFirst(E value);
E removeFirst();
boolean remove(E value);
boolean contains(E value);
boolean isEmpty();
int size();
void display();
E getFirstElement();
Entry getFirst();
static class Entry<E> {
public final E value;
public Entry<E> next;
public Entry(E value) {
this.value = value;
}
}
}
Loading