кодесурса

Упражнения на Java: удаление дубликатов из отсортированного связанного списка

script1adsense2code
script1adsense3code

Java Basic: упражнение 135 с решением

Напишите Java-программу для удаления дубликатов из отсортированного связанного списка.

Иллюстрированная презентация:


Пример решения:

Java-код:

class LinkedList
{
	Node head; // head of list
	/* Linked list Node*/
	class Node
	{
		int data;
		Node next;
		Node(int d) {data = d; next = null; }
	}
	void remove_Duplicates()
	{
		Node current = head;
     	Node next_next;
		if (head == null) 
			return;
		while (current.next != null) {
     		if (current.data == current.next.data) {
				next_next = current.next.next;
				current.next = null;
				current.next = next_next;
			}
			else 
			current = current.next;
		}
	}					
	// In front of the list insert a new Node
	public void push(int new_data)
	{
		Node new_node = new Node(new_data);
		new_node.next = head;
		head = new_node;
	}
	/* Function to print linked list */
	void printList()
	{
		Node temp = head;
		while (temp != null)
		{
			System.out.print(temp.data);
			if (temp.next != null)
			{
			System.out.print("->");
			}
			temp = temp.next;
		} 
	  System.out.println();
	}
   /* Driver program to test above functions */
	public static void main(String args[])
	{
		LinkedList l_list = new LinkedList();
		// Insert data into LinkedList
		l_list.push(17);
		l_list.push(17);
		l_list.push(16);
		l_list.push(15);
		l_list.push(15);
		l_list.push(14);
		l_list.push(13);
		l_list.push(12);
		l_list.push(12);
		
		System.out.println("Original List with duplicate elements:");
		l_list.printList();
		l_list.remove_Duplicates();
		
		System.out.println("After removing duplicates from the said list:");
		l_list.printList();
	}
} 

Пример вывода:

 Исходный список с дублирующимися элементами:
12-> 12-> 13-> 14-> 15-> 15-> 16-> 17-> 17
После удаления дубликатов из указанного списка:
12-> 13-> 14-> 15-> 16-> 17

Блок - схема:

«Блок-схема:

Редактор кода Java:

Внесите свой код и комментарии через Disqus.

Предыдущий: Напишите программу на Java, чтобы найти отличные способы подняться на вершину (n шагов, чтобы добраться до вершины) лестницы. Каждый раз вы можете подняться на 1 или 2 шага.
Далее: Напишите программу на Java, чтобы найти возможные уникальные пути от верхнего левого угла до правого нижнего угла данной сетки (mxn).

Каков уровень сложности этого упражнения?

Новый контент: Composer: менеджер зависимостей для PHP , R программирования


script1adsense4code
script1adsense5code
disqus2code
script1adsense6code
script1adsense7code
script1adsense8code
buysellads2code