мета-данные страницы
  •  
Загрузка не удалась. Возможно, проблемы с правами доступа?

Различия

Показаны различия между двумя версиями страницы.

Ссылка на это сравнение

Предыдущая версия справа и слеваПредыдущая версия
Последняя версияСледующая версия справа и слева
java:elective:lesson_03_12_14 [12/03/2014 16:35] nbazhenovjava:elective:lesson_03_12_14 [19/03/2014 14:00] nbazhenov
Строка 87: Строка 87:
  
 Допишите методы ''inOrderTreeWalk'', ''treeMinimum'', ''treeMaximum'', ''treeSuccessor'', ''treePredecessor'', ''treeDelete'', описанные в {{:java:kormen_p.236-245.pdf|тексте}}. Допишите методы ''inOrderTreeWalk'', ''treeMinimum'', ''treeMaximum'', ''treeSuccessor'', ''treePredecessor'', ''treeDelete'', описанные в {{:java:kormen_p.236-245.pdf|тексте}}.
 +
 +===== Задание. Часть 2 =====
 +
 +===== Задание 5.2 =====
 +
 +Преобразуйте написанный вами класс в класс, предназначенный для работы со строками. Получившийся класс должен выглядеть примерно так:
 +
 +<code java>
 +public class ModifiedBinarySearchTree{
 + private static class Node{
 + String data = null;
 + Node parent = null;
 + Node left = null;
 + Node right = null;
 +
 + Node (String data){
 + this.data = data;
 + }
 + }
 +
 + private Node root;
 +
 + public void treeInsert(String data){
 + Node y = null;
 + Node x = root;
 +
 + while(x != null){
 + y = x;
 + if(data.compareTo(x.data) < 0)
 + x = x.left;
 + else
 + x = x.right;
 + }
 +
 + Node z = new Node(data);
 + z.parent = y;
 +
 + if(y == null)
 + root = z;
 + else{
 + if(data.compareTo(y.data) < 0)
 + y.left = z;
 + else
 + y.right = z;
 + }
 + }
 +
 + /* Остальные методы (модифицированные соответствующим образом) */
 +}
 +</code>
 +
 +Дан {{:java:elective:list_of_countries.txt|текстовый файл}}, содержащий английские названия стран мира. С помощью класса ''ModifiedBinarySearchTree'' составьте алфавитный список названий стран и запишите его в файл ''alphabetical_list_of_countries.txt''
 +
 +Код для чтения из файла и записи в файл:
 +
 +<code java>
 +/* чтение из файла list_of_countries.txt и сохранение списка стран в виде ArrayList */
 +
 +BufferedReader inputFile = null;
 +try {
 + inputFile = new BufferedReader(new FileReader("list_of_countries.txt"));
 +} catch (FileNotFoundException e) {
 + e.printStackTrace();
 +}
 +
 +String tmpString;
 +ArrayList<String> arr = new ArrayList<String>();
 +try {
 + while ((tmpString = inputFile.readLine()) != null)
 + arr.add(tmpString);
 +} catch (IOException e) {
 + e.printStackTrace();
 +}
 +
 +
 +/* запись списка стран в файл alphabetical_list_of_countries.txt */
 +
 +BufferedWriter outputFile = null;
 +try {
 + outputFile = new BufferedWriter(new FileWriter("alphabetical_list_of_countries.txt"));
 +} catch (IOException e) {
 + e.printStackTrace();
 +}
 +
 +try {
 + for (int i = 0; i < arr.size(); i++){
 + outputFile.write(arr.get(i));
 + outputFile.newLine();
 + }
 +} catch (IOException e) {
 + e.printStackTrace();
 +} finally{
 + try{
 + if(outputFile != null){
 + outputFile.flush();
 + outputFile.close();
 + }
 + }
 + catch(IOException e){
 + e.printStackTrace();
 + }
 +}
 +</code>
 +