1 / 1 / 0
Регистрация: 06.04.2014
Сообщений: 17
1

Написать программу сортировки данных в массиве методом быстрой сортировки по возрастанию номеров маршрутов

09.04.2014, 22:00. Показов 3348. Ответов 2
Метки нет (Все метки)

Описать класс с именем Route, содержащий следующие поля: start (название начального пункта маршрута), end (название конечного пункта маршрута), number (номер маршрута). Написать программу, выполняющую следующие действия:

инициализация данных в массиве traffic, состоящем из 8 элементов Route;

сортировка методом быстрой сортировки по возрастанию номеров маршрутов;

вывод информации о маршрутах, которые начинаются или заканчиваются в заданном пункте.

Ребят помогите пожалуйста!!!!
__________________
Помощь в написании контрольных, курсовых и дипломных работ, диссертаций здесь
0
Лучшие ответы (1)
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
09.04.2014, 22:00
Ответы с готовыми решениями:

Создать программу реализующую два алгоритма сортировки одномерного массива: методом Шелла и быстрой сортировки
ЗАДАЧА. Создать программу реализующую два алгоритма сортировки одномерного массива: сортировка...

Упорядочить массив по возрастанию методом быстрой сортировки
Ввести длину массива и массив. Упорядочить массив по возрастанию методом быстрой сортировки:...

Отсортировать массив по возрастанию двумя способами – методом «пузырька» и методом «быстрой сортировки» .
Доброго времени суток)Помогите пожалуйста написать вроде поняла быструю сортировку, а как написать...

Написать программу, которая методом быстрой сортировки упорядочивает по убыванию введенный пользователем массив вещественных чисел
Написать программу, которая методом быстрой сортировки упорядочивает по убыванию введенный...

2
4405 / 2345 / 850
Регистрация: 29.11.2010
Сообщений: 5,190
12.04.2014, 21:37 2
Лучший ответ Сообщение было отмечено olgusha19 как решение

Решение

Java
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
import java.util.Arrays;
import java.util.Comparator;
 
public class Traffic {
 
    public static final class Route {
        private final String start;
        private final String finish;
        private final String number;
 
        public Route(String start, String finish, String number) {
            this.start = start;
            this.finish = finish;
            this.number = number;
        }
 
        public String getStart() {
            return start;
        }
 
        public String getFinish() {
            return finish;
        }
 
        public String getNumber() {
            return number;
        }
 
        @Override
        public String toString() {
            return "Route{" +
                    "start='" + start + '\'' +
                    ", finish='" + finish + '\'' +
                    ", number='" + number + '\'' +
                    '}';
        }
 
        @Override
        public boolean equals(Object o) {
            if (this == o) return true;
            if (o == null || getClass() != o.getClass()) return false;
 
            Route route = (Route) o;
 
            return number.equals(route.number);
        }
 
        @Override
        public int hashCode() {
            return number.hashCode();
        }
    }
 
    public static class CompareRouteByNumber implements Comparator<Route> {
        @Override
        public int compare(Route o1, Route o2) {
            return o1.getNumber().compareTo(o2.getNumber());
        }
    }
 
    public static final CompareRouteByNumber COMPARE_ROUTE_BY_NUMBER = new CompareRouteByNumber();
 
    public static <T> void quickSort(T [] array, Comparator<T> comparator, int low, int high) {
        int i = low;
        int j = high;
        T pivot = array[low + (high - low) / 2];
 
        while (i <= j) {
            while (comparator.compare(pivot, array[i]) < 0) {
                ++i;
            }
            while (comparator.compare(pivot, array[j]) > 0) {
                ++j;
            }
            if (i <= j) {
                T temp = array[i];
                array[i] = array[j];
                array[j] = temp;
                ++i;
                ++j;
            }
            if (low < j)
                quickSort(array, comparator, low, j);
            if (i < high)
                quickSort(array, comparator, i, high);
        }
    }
 
    public static void main(String[] args) {
        Route [] traffic = new Route[] {
                new Route("A", "B", "8"),
                new Route("A", "C", "7"),
                new Route("C", "D", "6"),
                new Route("C", "B", "4"),
                new Route("E", "F", "5"),
                new Route("E", "G", "3"),
                new Route("F", "G", "1"),
                new Route("G", "A", "2"),
        };
 
        System.out.println(Arrays.deepToString(traffic));
        Arrays.sort(traffic, COMPARE_ROUTE_BY_NUMBER);
        System.out.println(Arrays.deepToString(traffic));
    }
}
1
1 / 1 / 0
Регистрация: 06.04.2014
Сообщений: 17
12.04.2014, 22:10  [ТС] 3
Спасибо большое
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
12.04.2014, 22:10
Помогаю со студенческими работами здесь

Разработайте рекурсивную процедуру сортировки последовательности методом быстрой сортировки Хоара
Помогите!!!! Дана последовательность чисел a1, a2, ... , an. Разработайте рекурсивную процедуру...

Пример быстрой сортировки массива строк и сортировки методом выбора
Добрый вечер. Скиньте пожалуйста пример быстрой сортировки массива строк и сортировки массива строк...

Сортировка одномерного массива целых чисел по возрастанию методом быстрой сортировки
Написать программу для сортировки одномерного массива целых чисел по возрастанию методом быстрой...

Отсортировать все строки методом быстрой сортировки так, чтоб элементы в них располагались по возрастанию
Всем привет:) Не могу никак сделать, помогите, кто шарит) Есть массив 10 на 10. Нужно...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2023, CyberForum.ru