"рдЬрд░ рддреБрдореНрд╣рд╛рд▓рд╛ рдЕрд╕реЗ рд╡рд╛рдЯрдд рдЕрд╕реЗрд▓ рдХреА рдЖрдореНрд╣реА рд╕рд░реНрд╡ рд▓рд┐рд╕реНрдЯ рдЗрдВрдЯрд░рдлреЗрд╕рд╕рд╣ рдкреВрд░реНрдг рдХреЗрд▓реЗ рдЖрд╣реЗ, рддрд░ рддреБрдореНрд╣реА рдЪреБрдХрдд рдЖрд╣рд╛рдд. рдЖрдореНрд╣реА рдЖрддреНрддрд╛рдЪ рд╕реБрд░реБрд╡рд╛рдд рдХрд░рдд рдЖрд╣реЛрдд. рдореА рддреБрдореНрд╣рд╛рд▓рд╛ LinkedList рдЖрдгрд┐ ArrayList рд╕рдВрдЧреНрд░рд╣рд╛рдВрдмрджреНрджрд▓ рд╕рд╛рдВрдЧреВ рджреЗ ."
"рдореА ArrayList рд╕рдВрдЧреНрд░рд╣рд╛рдиреЗ рд╕реБрд░реБрд╡рд╛рдд рдХрд░реЗрди."
"рдпрд╛ рд╕рдВрдЧреНрд░рд╣рд╛рдЪрд╛ рд╡рд╛рд░рд╕рд╛ рд░реЗрдЦрд╛рдЪрд┐рддреНрд░ рдХрд╕рд╛ рджрд┐рд╕рддреЛ рддреЗ рдпреЗрдереЗ рдЖрд╣реЗ:"
"рдЗрдВрдЯрд░рдлреЗрд╕ рд╣рд┐рд░рд╡реЗ рдЖрд╣реЗрдд."
"рдЕрдореВрд░реНрдд рд╡рд░реНрдЧ рдЬрд╛рдВрднрд│рд╛ рдЖрд╣реЗрдд."
"рд╕рд╛рдорд╛рдиреНрдп рд╡рд░реНрдЧ рд▓рд╛рд▓ рдЖрд╣реЗрдд."
"рдареЛрд╕ рд░реЗрд╖рд╛ рд╡рд╛рд░рд╕рд╛ рджрд░реНрд╢рд╡рддрд╛рдд рдЖрдгрд┐ рдбреЕрд╢ рд░реЗрд╖рд╛ рдЗрдВрдЯрд░рдлреЗрд╕ рдЕрдВрдорд▓рдмрдЬрд╛рд╡рдгреАрдЪреЗ рдкреНрд░рддрд┐рдирд┐рдзрд┐рддреНрд╡ рдХрд░рддрд╛рдд."
"рд╣рд╛ рд╕рд░реНрд╡рд╛рдд рд╕реЛрдкрд╛ рд╕рдВрдЧреНрд░рд╣ рдЖрд╣реЗ. рдЕреЕрд░реЗрд▓рд┐рд╕реНрдЯрдордзреНрдпреЗ , рдШрдЯрдХ рдПрдХрд╛ рд╕рд╛рдзреНрдпрд╛ рдЕреЕрд░реЗрдордзреНрдпреЗ рд╕рдВрдЧреНрд░рд╣рд┐рдд рдХреЗрд▓реЗ рдЬрд╛рддрд╛рдд."
"рдЕтАНреЕрд░реЗрд╡рд░ рдпрд╛ рд╕рдВрдЧреНрд░рд╣рд╛рдЪрд╛ рдкреНрд░рд╛рдердорд┐рдХ рдлрд╛рдпрджрд╛ рдореНрд╣рдгрдЬреЗ рддреНрдпрд╛рдЪреА рд╡рд┐рд╕реНрддрд╛рд░ рдХрд░рдгреНрдпрд╛рдЪреА рдХреНрд╖рдорддрд╛, рдореНрд╣рдгрдЬреЗ рдЖрд╡рд╢реНрдпрдХрддреЗрдиреБрд╕рд╛рд░ рддреНрдпрд╛рдЪреА рд▓рд╛рдВрдмреА рд╡рд╛рдврд╡рдгреНрдпрд╛рдЪреА рдХреНрд╖рдорддрд╛."
"рдЬрд░ рдЕтАНреЕрд░реЗрдЪреА рдЬрд╛рдЧрд╛ рд╕рдВрдкрд▓реА, рддрд░ рджреБрд╕рд░рд╛ рдореЛрдард╛ рдЕтАНреЕрд░реЗ рддрдпрд╛рд░ рдХреЗрд▓рд╛ рдЬрд╛рдИрд▓ рдЖрдгрд┐ рдкрд╣рд┐рд▓реНрдпрд╛ рдЕреЕрд░реЗрдордзреАрд▓ рд╕рд░реНрд╡ рдШрдЯрдХ рддреНрдпрд╛рд╡рд░ рдХреЙрдкреА рдХреЗрд▓реЗ рдЬрд╛рддреАрд▓. рдирдВрддрд░ рджреБрд╕рд░рд╛ рдЕтАНреЕрд░реЗ рдкрд╣рд┐рд▓реНрдпрд╛рдЪреА рдЬрд╛рдЧрд╛ рдШреЗрдИрд▓ рдЖрдгрд┐ рдкрд╣рд┐рд▓рд╛ рдЯрд╛рдХреВрди рджрд┐рд▓рд╛ рдЬрд╛рдИрд▓ (рддреЗ рдЕрд╕реЗрд▓ рдХрдЪрд░рд╛ рдЧреЛрд│рд╛ рдХрд░рдгрд╛рд▒реНрдпрд╛рдВрдиреА рдирд╖реНрдЯ рдХреЗрд▓рд╛ рдЖрд╣реЗ)."
"рдЕтАНреЕрд░реЗ рдХрд┐рддреА рдореЛрдард╛ рд╣реЛрддреЛ?"
"рдирд╡реАрди рдЕреЕрд░реЗрдЪреА рд▓рд╛рдВрдмреА (3*n)/2+1 рдореНрд╣рдгреВрди рдореЛрдЬрд▓реА рдЬрд╛рддреЗ, рдЬреЗрдереЗ n рд╣реА рдЬреБрдиреНрдпрд╛ рдЕреЕрд░реЗрдЪреА рд▓рд╛рдВрдмреА рдЕрд╕рддреЗ. рджреБрд╕рд▒реНрдпрд╛ рд╢рдмреНрджрд╛рдВрдд, рдЬрд░ рдЬреБрдирд╛ рдЕреЕрд░реЗ 100 рдШрдЯрдХ рд▓рд╛рдВрдм рдЕрд╕реЗрд▓, рддрд░ рдирд╡реАрди рдЕреЕрд░реЗ 300/2+1 рдЕрд╕реЗрд▓ = резрелрез."
"рдЕреЕрд░реЗрд▓рд┐рд╕реНрдЯрдЪреНрдпрд╛ рдордзреНрдпрднрд╛рдЧреА рдПрдХ рдШрдЯрдХ рдЬреЛрдбрддрд╛рдирд╛, рдирд╡реАрди рдШрдЯрдХ рдЬрд┐рдереЗ рд╕рдорд╛рд╡рд┐рд╖реНрдЯ рдХреЗрд▓рд╛ рдЬрд╛рдИрд▓ рддреНрдпрд╛рдЪреНрдпрд╛ рдЙрдЬрд╡реАрдХрдбреЗ рд╕рд░реНрд╡ рдШрдЯрдХ рдЙрдЬрд╡реАрдХрдбреЗ 1 рд╕реНрдерд╛рди рдХреЙрдкреА рдХреЗрд▓реЗ рдЬрд╛рддрд╛рдд рдЖрдгрд┐ рдирдВрддрд░ рд░рд┐рдХреНрдд рд╕реЗрд▓рдордзреНрдпреЗ рдирд╡реАрди рдШрдЯрдХ рдЬреЛрдбрд▓рд╛ рдЬрд╛рддреЛ."
"рдордзреНрдпрднрд╛рдЧреА рдПрдХ рдШрдЯрдХ рдХрд╛рдврддрд╛рдирд╛, рддреНрдпрд╛ рдШрдЯрдХрд╛рдЪреНрдпрд╛ рдЙрдЬрд╡реАрдХрдбреАрд▓ рд╕рд░реНрд╡ рдШрдЯрдХ рдбрд╛рд╡реАрдХрдбреЗ 1 рд╕реНрдерд╛рди рдХреЙрдкреА рдХреЗрд▓реЗ рдЬрд╛рддрд╛рдд."
"рддреБрдореНрд╣реА рдЕрд╕реЗ рдореНрд╣рдгрдд рдЖрд╣рд╛рдд рдХреА рдЬреЗрд╡реНрд╣рд╛ рддреБрдореНрд╣реА рддреНрдпрд╛рдд рдШрдЯрдХ рдЬреЛрдбрддрд╛ рддреЗрд╡реНрд╣рд╛ рдЕреЕрд░реЗрд▓рд┐рд╕реНрдЯ рд╕реНрд╡рддрдГрд▓рд╛ рд▓рд╛рдВрдм рдХрд░рддреЗ рдЖрдгрд┐ рдЬреЗрд╡реНрд╣рд╛ рддреБрдореНрд╣реА рдШрдЯрдХ рдХрд╛рдвреВрди рдЯрд╛рдХрддрд╛ рддреЗрд╡реНрд╣рд╛ рддреА рд╕реНрд╡рддрдГрд▓рд╛ рд▓рд╣рд╛рди рдХрд░рддреЗ?"
"рдирд╛рд╣реА, ArrayList рдордзреАрд▓ рдЕреЕрд░реЗ рдХрдзреАрд╣реА рд╕реНрд╡рддрдГрд╣реВрди рд▓рд╣рд╛рди рд╣реЛрдд рдирд╛рд╣реА; рддрдерд╛рдкрд┐, рддреБрдореНрд╣реА ArrayList рд▓рд╛ рддреНрдпрд╛рдЪреНрдпрд╛ рдЕрдВрддрд░реНрдЧрдд рдЕреЕрд░реЗрд▓рд╛ trimToSize () рдореЗрдердбрд▓рд╛ рдХреЙрд▓ рдХрд░реВрди рд╕рд░реНрд╡рд╛рдд рд▓рд╣рд╛рди рдЖрдХрд╛рд░рд╛рдд рдХрдореА рдХрд░рдгреНрдпрд╛рд╕ рднрд╛рдЧ рдкрд╛рдбреВ рд╢рдХрддрд╛."
"рдЖрдгрд┐, рдирдХреНрдХреАрдЪ, рдореА рддреБрдореНрд╣рд╛рд▓рд╛ LinkedList рдмрджреНрджрд▓ рд╕рд╛рдВрдЧреЗрди."
"рддреНрдпрд╛рдЪрд╛ рд╡рд╛рд░рд╕рд╛ рд░реЗрдЦрд╛рдЪрд┐рддреНрд░ рдХрд╕рд╛ рджрд┐рд╕рддреЛ рддреЗ рдпреЗрдереЗ рдЖрд╣реЗ:"
"рдЗрдВрдЯрд░рдлреЗрд╕ рд╣рд┐рд░рд╡реЗ рдЖрд╣реЗрдд."
"рдЕрдореВрд░реНрдд рд╡рд░реНрдЧ рдЬрд╛рдВрднрд│рд╛ рдЖрд╣реЗрдд."
"рд╕рд╛рдорд╛рдиреНрдп рд╡рд░реНрдЧ рд▓рд╛рд▓ рдЖрд╣реЗрдд."
"рдареЛрд╕ рд░реЗрд╖рд╛ рд╡рд╛рд░рд╕рд╛ рджрд░реНрд╢рд╡рддрд╛рдд рдЖрдгрд┐ рдбреЕрд╢ рд░реЗрд╖рд╛ рдЗрдВрдЯрд░рдлреЗрд╕ рдЕрдВрдорд▓рдмрдЬрд╛рд╡рдгреАрдЪреЗ рдкреНрд░рддрд┐рдирд┐рдзрд┐рддреНрд╡ рдХрд░рддрд╛рдд."
"рддреБрдореНрд╣рд╛рд▓рд╛ рдЖрдзреАрдЪ рдорд╛рд╣рд┐рдд рдЖрд╣реЗ рдХреА, LinkedList рдШрдЯрдХрд╛рдВрдирд╛ рд▓рд┐рдВрдХ рдХреЗрд▓реЗрд▓реА рд╕реВрдЪреА рдореНрд╣рдгреВрди рд╕рдВрдЧреНрд░рд╣рд┐рдд рдХрд░рддреЗ."
"рдореА рддреЗ рдиреЗрд╣рдореА рдРрдХрддреЛ, рдкрдг рддреЗ рдХрд╛рдп рдЖрд╣реЗ рддреЗ рд╕рд╛рдВрдЧреВ рд╢рдХрд╛рд▓?"
"рдирдХреНрдХреА. "рд╣реЗ рд╕реЛрдкреЗ рдЖрд╣реЗ."
"рд▓рд┐рдВрдХ рдХреЗрд▓реЗрд▓реНрдпрд╛ рд╕реВрдЪреАрдордзреНрдпреЗ рдШрдЯрдХ рдЕрд╕рддрд╛рдд рдЬреЗ рдЕ) рдбреЗрдЯрд╛ рд╕рдВрдЧреНрд░рд╣рд┐рдд рдХрд░рддрд╛рдд рдЖрдгрд┐ рдм) рдкреБрдвреАрд▓ рдЖрдгрд┐ рдорд╛рдЧреАрд▓ рдШрдЯрдХрд╛рдВрдЪреЗ рд╕рдВрджрд░реНрдн рд╕рдВрдЧреНрд░рд╣рд┐рдд рдХрд░рддрд╛рдд."
" рдЕрд╢рд╛ рдШрдЯрдХрд╛рдЪрд╛ рд╡рд░реНрдЧ рд╕реНрдЯреНрд░рд┐рдВрдЧреНрд╕ рд╕рдВрдЧреНрд░рд╣рд┐рдд рдХреЗрд▓реНрдпрд╛рд╕ рддреЛ рдХрд╕рд╛ рджрд┐рд╕реЗрд▓:"
рдЙрджрд╛рд╣рд░рдг | рд╡рд░реНрдгрди |
---|---|
|
рдбреЗрдЯрд╛ рдлреАрд▓реНрдб рдШрдЯрдХрд╛рдЪреЗ рд╕реНрдЯреНрд░рд┐рдВрдЧ рдореВрд▓реНрдп рд╕рдВрдЪрдпрд┐рдд рдХрд░рддреЗ . рдкреБрдвреАрд▓ рдлреАрд▓реНрдб рд╕реВрдЪреАрддреАрд▓ рдкреБрдвреАрд▓ рдШрдЯрдХрд╛рдЪрд╛ рд╕рдВрджрд░реНрдн рд╕рдВрдЧреНрд░рд╣рд┐рдд рдХрд░рддреЗ . рдорд╛рдЧреАрд▓ рдлреАрд▓реНрдб рд╕реВрдЪреАрдордзреАрд▓ рдорд╛рдЧреАрд▓ рдШрдЯрдХрд╛рдЪрд╛ рд╕рдВрджрд░реНрдн рд╕рдВрдЧреНрд░рд╣рд┐рдд рдХрд░рддреЗ . |
"рдЖрдгрд┐ рдЬрд░ рдЖрдкрдг рд╕рд╛рдорд╛рдиреНрдп рдкреНрд░рдХрд╛рд░рдЪреА рдШреЛрд╖рдгрд╛ рд╡рд╛рдкрд░рддреЛ, рддрд░ рддреЗ рдЕрд╕реЗ рдХрд╛рд╣реАрддрд░реА рджрд┐рд╕реЗрд▓:"
class LinkedListElement<T>
{
T data;
LinkedListElement<T> next;
LinkedListElement<T> previous;
}
"рдЕрд░реНрде рдкреНрд░рд╛рдкреНрдд рд╣реЛрддреЛ."
"рд╣реЗ рдЕрдзрд┐рдХ рдЪрд╛рдВрдЧрд▓реНрдпрд╛ рдкреНрд░рдХрд╛рд░реЗ рд╕рдордЬреВрди рдШреЗрдгреНрдпрд╛рд╕рд╛рдареА, рдЪрд▓рд╛ рдХреЛрдб рд▓рд┐рд╣реВ рдпрд╛ рдЬреЗрдереЗ рдЖрдореНрд╣реА рджреБрдкреНрдкрдЯ-рд▓рд┐рдВрдХ рдХреЗрд▓реЗрд▓реНрдпрд╛ рд╕реВрдЪреАрдордзреНрдпреЗ 10 рдШрдЯрдХ рдЬреЛрдбреВ:"
public static void main(String[] args)
{
LinkedListElement<Integer> tail; // The tail (very last element) of the list
for(int i = 0; i < 10; i++)
{
LinkedListElement<Integer> element = new LinkedListElement<Integer>();
element.data = i;
if (tail == null) // If the tail doesn't exist, then make our element the last element
{
tail = element;
}
else // if there is a tail, add the element
{
tail.next = element; // Set the next field on the tail element
element.previous = tail; // Add a reference to the tail to the new element
tail = element; // Make the new element the tail
}
}
}
"рдХрд▓реНрдкрдирд╛ рдХрд░рд╛ рдХреА рдЖрдордЪреНрдпрд╛рдХрдбреЗ рд╕реВрдЪреАрдордзреНрдпреЗ 10 рдШрдЯрдХ рдЖрд╣реЗрдд. рдордзреНрдпрднрд╛рдЧреА рдПрдХ рдШрдЯрдХ рдХрд╕рд╛ рдШрд╛рд▓рд╛рдпрдЪрд╛ рддреЗ рдпреЗрдереЗ рдЖрд╣реЗ:"
"рдмрджрд▓рд▓реЗрд▓реЗ рджреБрд╡реЗ рдЪрдордХрджрд╛рд░ рд▓рд╛рд▓ рд░рдВрдЧрд╛рдд рд╣рд╛рдпрд▓рд╛рдЗрдЯ рдХреЗрд▓реЗ рдЖрд╣реЗрдд . рддреЗ рдЖрддрд╛ рдирд╡реАрди рдШрдЯрдХрд╛рдХрдбреЗ рдирд┐рд░реНрджреЗрд╢ рдХрд░рддрд╛рдд."
"рдирд╡реАрди рд▓рд┐рдВрдХреНрд╕ рдЪрдордХрджрд╛рд░ рдЬрд╛рдВрднрд│реНрдпрд╛ рд░рдВрдЧрд╛рдд рд╣рд╛рдпрд▓рд╛рдЗрдЯ рдХреЗрд▓реНрдпрд╛ рдЖрд╣реЗрдд . рддреЗ рддреНрдпрд╛рдЪреНрдпрд╛ рд╢реЗрдЬрд╛рд▒реНрдпрд╛рдВрд╕рд╛рдареА рдирд╡реАрди рдШрдЯрдХрд╛рдВрдЪреЗ рджреБрд╡реЗ рдЖрд╣реЗрдд."
"рдЖрдгрд┐ рдЖрддрд╛ рдХреЛрдб рдореНрд╣рдгреВрди:"
// This field stores the element that is the head of the list
LinkedListElement<Integer> head = тАж
// Get the 4th element (counting from zero)
LinkedListElement<Integer> element4 = head.next.next.next.next;
// Get the 5th element
LinkedListElement<Integer> element5 = element4.next;
// Create the new element that we will insert
LinkedListElement<Integer> newElement = new LinkedListElement<Integer>();
newElement.data = -18;
// Replace the references in the element on the left
newElement.previous = element4;
element4.next = newElement;
// Replace the references in the element on the right
newElement.next = element5;
element5.previous = newElement;
"рдзрдиреНрдпрд╡рд╛рдж, рдПрд▓реА. рдореА рдирд┐рд╢реНрдЪрд┐рддрдкрдгреЗ рдпрд╛рджреНрдпрд╛рдВрдмрджреНрджрд▓ рдмрд░реНтАНрдпрд╛рдЪ рдирд╡реАрди рдЧреЛрд╖реНрдЯреА рд╢рд┐рдХрд▓реЛ."