Სარჩევი:

როგორ დავახარისხო ცალკე დაკავშირებული სია?
როგორ დავახარისხო ცალკე დაკავშირებული სია?

ვიდეო: როგორ დავახარისხო ცალკე დაკავშირებული სია?

ვიდეო: როგორ დავახარისხო ცალკე დაკავშირებული სია?
ვიდეო: Sorted Singly Linked List (Inserting a New Element) 2024, აპრილი
Anonim

ქვემოთ მოცემულია მარტივი ჩასმა დალაგება ალგორითმი ამისთვის დაკავშირებული სია . 1) შექმენით ცარიელი დალაგებულია (ან შედეგი) სია 2) გადაკვეთეთ მოცემული სია , გააკეთეთ შემდეგი თითოეული კვანძისთვის. ა) ჩადეთ მიმდინარე კვანძი დალაგებულია გზაში დალაგებულია ან შედეგი სია . 3) შეცვალეთ თავი მოცემული დაკავშირებული სია სათავეში დალაგებულია (ან შედეგი) სია.

ამასთან დაკავშირებით, შეგიძლიათ დაალაგოთ დაკავშირებული სია?

შერწყმა დალაგება ხშირად სასურველია დაკავშირებული სიის დახარისხება . ა-ის ნელი შემთხვევითი წვდომის შესრულება დაკავშირებული სია ზოგიერთი სხვა ალგორითმი (როგორიცაა სწრაფი დახარისხება) ცუდად მუშაობს, ხოლო სხვები (როგორიცაა ჰეფსორტი) სრულიად შეუძლებელს ხდის. თავი იყოს პირველი კვანძი დაკავშირებული სია უნდა იყოს დალაგებული და headRef იყოს მაჩვენებელი ხელმძღვანელისკენ.

მეორეც, როგორ დაალაგებთ დაკავშირებულ სიას ბუშტების დალაგების გამოყენებით? ბუშტების დალაგების შესასრულებლად, ჩვენ მივყვებით შემდეგ ნაბიჯებს:

  1. ნაბიჯი 1: შეამოწმეთ, არის თუ არა მონაცემები 2 მიმდებარე კვანძზე აღმავალი თანმიმდევრობით. თუ არა, შეცვალეთ 2 მიმდებარე კვანძის მონაცემები.
  2. ნაბიჯი 2: გავლის 1-ის ბოლოს, ყველაზე დიდი ელემენტი იქნება სიის ბოლოს.
  3. ნაბიჯი 3: ჩვენ ვწყვეტთ ციკლს, როდესაც ყველა ელემენტი დაიწყება.

უბრალოდ, როგორ ახარისხებთ მონაცემებს დაკავშირებულ სიაში?

ალგორითმი

  1. შექმენით კლასის კვანძი, რომელსაც აქვს ორი ატრიბუტი: მონაცემები და შემდეგი.
  2. შექმენით სხვა კლასის SortList, რომელსაც აქვს ორი ატრიბუტი: თავი და კუდი.
  3. addNode() დაამატებს ახალ კვანძს სიაში:
  4. sortList() დაალაგებს სიის კვანძებს ზრდადი თანმიმდევრობით.
  5. display() აჩვენებს სიაში არსებულ კვანძებს:

როგორ დავახარისხო დაკავშირებული სია ანბანურად?

დახარისხება სიმებიანი LinkedList ჯავაში მარტივია. Შენ შეგიძლია დალაგება სიმებიანი LinkedList აღმავალში ანბანური თანმიმდევრობა გამოყენებით დალაგება ( სია სია ). Ასევე შეგიძლიათ დალაგება სიმებიანი LinkedList დაღმავალში ანბანური თანმიმდევრობა გამოყენებით დალაგება ( სია სია , შედარება გ).

გირჩევთ: