Სარჩევი:
ვიდეო: როგორ შევქმნათ ბუშტების დალაგება დაკავშირებულ სიაში C++-ში?
2024 ავტორი: Lynn Donovan | [email protected]. ბოლოს შეცვლილი: 2023-12-15 23:49
ბუშტების დალაგების შესასრულებლად, ჩვენ მივყვებით შემდეგ ნაბიჯებს:
- ნაბიჯი 1: შეამოწმეთ, არის თუ არა მონაცემები 2 მიმდებარე კვანძზე აღმავალი თანმიმდევრობით. თუ არა, შეცვალეთ 2 მიმდებარე კვანძის მონაცემები.
- ნაბიჯი 2: გავლის 1-ის ბოლოს, ყველაზე დიდი ელემენტი იქნება სიის ბოლოს.
- ნაბიჯი 3: ჩვენ ვწყვეტთ ციკლს, როდესაც ყველა ელემენტი დაიწყება.
ამ გზით, როგორ შევქმნათ ბუშტების დალაგება დაკავშირებულ სიაში C++-ში?
ბუშტების დალაგების შესასრულებლად, ჩვენ მივყვებით შემდეგ ნაბიჯებს:
- ნაბიჯი 1: შეამოწმეთ, არის თუ არა მონაცემები 2 მიმდებარე კვანძზე აღმავალი თანმიმდევრობით. თუ არა, შეცვალეთ 2 მიმდებარე კვანძის მონაცემები.
- ნაბიჯი 2: გავლის 1-ის ბოლოს, ყველაზე დიდი ელემენტი იქნება სიის ბოლოს.
- ნაბიჯი 3: ჩვენ ვწყვეტთ ციკლს, როდესაც ყველა ელემენტი დაიწყება.
ანალოგიურად, რა არის ბუშტის დალაგება C++? ბუშტების დალაგება . ში ბუშტის დალაგება , როგორც ელემენტებია დალაგებულია ისინი თანდათან " ბუშტი " (ან აწევა) მათ შესაბამის ადგილას მასივში, მაგ ბუშტები ამოდის ჭიქა სოდაში. The ბუშტის დალაგება არაერთხელ ადარებს მასივის მიმდებარე ელემენტებს. პირველი და მეორე ელემენტები შედარებულია და იცვლება, თუ მწყობრიდან არ არის.
მეორეც, როგორ ახარისხებთ მონაცემებს დაკავშირებულ სიაში?
ალგორითმი
- შექმენით კლასის კვანძი, რომელსაც აქვს ორი ატრიბუტი: მონაცემები და შემდეგი.
- შექმენით სხვა კლასის SortList, რომელსაც აქვს ორი ატრიბუტი: თავი და კუდი.
- addNode() დაამატებს ახალ კვანძს სიაში:
- sortList() დაალაგებს სიის კვანძებს ზრდადი თანმიმდევრობით.
- display() აჩვენებს სიაში არსებულ კვანძებს:
რომელია საუკეთესო დახარისხების ალგორითმი დაკავშირებული სიისთვის?
შერწყმა დახარისხება ხშირად სასურველია დაკავშირებული სიის დასალაგებლად. დაკავშირებული სიის ნელი შემთხვევითი წვდომის შესრულება ქმნის სხვა ალგორითმს (როგორიცაა სწრაფი დალაგება ) ცუდად ასრულებს და სხვა (როგორიცაა ჰეპსორტი ) სრულიად შეუძლებელია. დავუშვათ, რომ head იყოს დაკავშირებული სიის პირველი კვანძი, რომელიც უნდა იყოს დალაგებული, ხოლო headRef იყოს მაჩვენებელი ხელმძღვანელისკენ.