


Program Python: tambah elemen pada kedudukan pertama dan terakhir senarai terpaut
Dalam Python, senarai terpaut ialah struktur data linear yang terdiri daripada jujukan nod, setiap nod mengandungi nilai dan rujukan kepada nod seterusnya dalam senarai terpaut.
Dalam artikel ini, kita akan membincangkan cara menambah elemen pada kedudukan pertama dan terakhir senarai terpaut dalam Python.
Senarai Terpaut dalam Python
Senarai terpaut ialah struktur data rujukan yang digunakan untuk menyimpan satu set elemen. Ia serupa dengan tatasusunan dalam satu cara, tetapi dalam tatasusunan, data disimpan di lokasi memori bersebelahan, manakala dalam senarai terpaut, data tidak tertakluk kepada syarat ini. Ini bermakna data tidak disimpan secara berurutan tetapi secara rawak dalam ingatan.
Ini menimbulkan satu persoalan iaitu, bagaimana kita boleh mengakses elemen dalam senarai terpaut Jawapannya agak intuitif dalam senarai terpaut satu elemen menunjuk kepada yang lain sehingga akhir senarai.
Permulaan dan akhir senarai dianggap jawatan istimewa. Permulaan senarai dipanggil kepala, ia menunjuk kepada elemen pertama, dan elemen terakhir adalah istimewa kerana ia menunjuk kepada NULL.
Head -> data_1 -> data_2 -> … -> data_n -> NULL
Sekarang kita tahu cara untuk mengakses permulaan dan penghujung senarai terpaut, mari lihat cara untuk mengulangi elemen dan mengakses data dalam senarai terpaut.
Merentasi senarai terpaut adalah sangat mudah, kami hanya bermula dari awal dan mengakses nod seterusnya kami terus mengulangi proses ini sehingga kami menemui nod yang nod seterusnya adalah NULL. Bagi mengakses data dalam nod, kami menggunakan pengendali anak panah "->".
Head->data
Kini kami mempunyai semua pemahaman yang diperlukan untuk mula menyelesaikan masalah ini.
Tambah elemen pada permulaan
Untuk menambah data pada permulaan senarai terpaut, kita mesti mengambil kira kepala senarai terpaut Setiap kali kita menambah nod pada permulaan senarai terpaut, senarai terpaut akan diubah suai dengan nod yang baru ditambah. nod pertama / kepala senarai
Algoritma
Langkah 1 – Buat nod baharu
Langkah 2 - Tambahkan data pada nod yang baru dibuat
Langkah 3 – Kemas kini pautan nod baharu dan tunjukkan ke nod kepala semasa
Langkah 4 - Sekarang tetapkan penuding kepala kepada nod yang baru dibuat
NOTA - Susunan langkah ini sangat penting kerana jika anda menetapkan nod yang baru dibuat sebagai nod kepala dahulu, maka kami tidak akan dapat mengemas kini pautan nod baharu, yang idealnya harus menghala ke nod kepala sebelumnya .
Contoh
class Node: def __init__(self, data): self.dataPart = data self.nextNode = None class LinkedList: def __init__(self): self.headNode = None def showList(self): n = self.headNode while n is not None: print(n.dataPart, end='-') n = n.nextNode print('') def addBeginList(self, data): tempNode = Node(data) tempNode.nextNode = self.headNode self.headNode = tempNode newLinkedList = LinkedList() print("Printing the list before adding element : ") newLinkedList.showList() newLinkedList.addBeginList(10) newLinkedList.addBeginList(25) print("Printing the elements after adding at the beginning of the list") newLinkedList.showList()
Output
Printing the list before adding any element : \ Printing the elements after adding at the beginning of the list 25-10-\
Tambah elemen di hujung
Menambah elemen pada penghujung, secara logiknya berbeza daripada menambah pada permulaan senarai Kali ini kita perlu mengakses nod terakhir senarai dan bukannya nod pertama, iaitu, kepala
Sekarang masalahnya ialah untuk menyemak sama ada senarai yang kami ingin tambah elemen adalah senarai kosong atau jika ia sudah mempunyai beberapa elemen.
Jika senarai kosong maka nod baharu akan menjadi nod pertama untuk senarai, dan dalam kes lain, ia akan menjadi nod terakhir Untuk itu kita perlu menyemak sama ada nod kepala adalah Tiada atau tidak dirawat kosong dari kepala adalah Tiada, dan tidak kosong sebaliknya
Algoritma
Langkah 1 – Buat nod baharu.
Langkah 2 - Tambahkan data pada bahagian data nod.
Langkah 3 – Pastikan nod seterusnya nod yang baru dibuat menghala ke None atau Null pointer.
Langkah 4 - Jika senarai kosong, gunakan nod yang baru dibuat sebagai nod kepala.
Langkah 5 - Lain melintasi ke hujung senarai, nod terakhir.
Langkah 6 – Tetapkan nod seterusnya bagi nod terakhir kepada nod yang baru dibuat.
Contoh
class Node: def __init__(self, data): self.dataPart = data self.nextNode = None class LinkedList: def __init__(self): self.headNode = None def showList(self): n = self.headNode while n is not None: print(n.dataPart, end='-') n = n.nextNode print("") def addEndList(self, data): tempNode = Node(data) if self.headNode is None: self.headNode = tempNode else: n = self.headNode while n.nextNode is not None: n = n.nextNode n.nextNode = tempNode newLinkedList = LinkedList() print("Printing the list before insertion : ") newLinkedList.showList() newLinkedList.addEndList(25) newLinkedList.addEndList(10) print("Printing the list after adding elements at the end of the list : ") newLinkedList.showList()
Output
Printing the list before insertion : \ Printing the list after adding elements at the end of the list : 25-10-\
Kesimpulan
Dalam artikel ini, kami membincangkan cara menggunakan kelas Python untuk melaksanakan senarai terpaut dan cara menambah elemen pada senarai terpaut. Kami menumpukan pada menambahkan elemen pada permulaan dan akhir senarai.
Atas ialah kandungan terperinci Program Python: tambah elemen pada kedudukan pertama dan terakhir senarai terpaut. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Alat AI Hot

Undresser.AI Undress
Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover
Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool
Gambar buka pakaian secara percuma

Clothoff.io
Penyingkiran pakaian AI

Video Face Swap
Tukar muka dalam mana-mana video dengan mudah menggunakan alat tukar muka AI percuma kami!

Artikel Panas

Alat panas

Notepad++7.3.1
Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina
Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1
Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6
Alat pembangunan web visual

SublimeText3 versi Mac
Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Topik panas











Diberi senarai terpaut tunggal dan integer positif N sebagai input. Matlamatnya adalah untuk mencari nod N dari penghujung senarai yang diberikan menggunakan rekursi. Jika senarai input mempunyai nod a→b→c→d→e→f dan N ialah 4, maka nod ke-4 dari yang terakhir ialah c. Kita akan mula-mula melintasi sehingga nod terakhir dalam senarai dan apabila kembali daripada kiraan kenaikan rekursif (backtracking). Apabila kiraan sama dengan N, penunjuk ke nod semasa dikembalikan sebagai hasilnya. Mari kita lihat pelbagai senario input dan output untuk ini - Input - Senarai: -1→5→7→12→2→96→33N=3 Output − Nod Nth dari yang terakhir ialah: 2 Penjelasan − Nod ketiga ialah 2 . Input − Senarai: -12→53→8→19→20→96→33N=8 Output – Nod tidak wujud

LinkedList ialah kelas umum JavaCollectionFramework, yang melaksanakan tiga antara muka: List, Deque dan Queue. Ia menyediakan kefungsian struktur data LinkedList, struktur data linear di mana setiap elemen dipautkan antara satu sama lain. Kami boleh melakukan pelbagai operasi pada LinkedList, termasuk menambah, mengalih keluar dan melintasi elemen. Untuk menambah elemen pada koleksi LinkedList, kita boleh menggunakan pelbagai kaedah terbina dalam seperti add(), addFirst(), dan addLast(). Kami akan meneroka cara menggunakan kaedah ini untuk menambah elemen pada LinkedList. di Jawa

Gambaran Keseluruhan Perpustakaan Struktur Data PHPSPL Pustaka struktur data PHPSPL (Perpustakaan Standard PHP) mengandungi satu set kelas dan antara muka untuk menyimpan dan memanipulasi pelbagai struktur data. Struktur data ini termasuk tatasusunan, senarai terpaut, tindanan, baris gilir dan set, setiap satunya menyediakan set kaedah dan sifat khusus untuk memanipulasi data. Tatasusunan Dalam PHP, tatasusunan ialah koleksi tertib yang menyimpan jujukan elemen. Kelas tatasusunan SPL menyediakan fungsi yang dipertingkatkan untuk tatasusunan PHP asli, termasuk pengisihan, penapisan dan pemetaan. Berikut ialah contoh menggunakan kelas tatasusunan SPL: useSplArrayObject;$array=newArrayObject(["foo","bar","baz"]);$array

Perbandingan kerumitan masa algoritma tatasusunan dan senarai terpaut: mengakses tatasusunan O(1), senarai terpaut O(n), senarai terpaut O(1)/O(n); ), senarai terpaut O(n) (n); tatasusunan carian O(n), senarai terpaut O(n).

Perwakilan senarai terpaut bagi nombor disediakan seperti ini: Semua nod senarai terpaut dianggap sebagai satu digit nombor. Nod menyimpan nombor supaya elemen pertama senarai terpaut memegang digit paling ketara bagi nombor itu, dan elemen terakhir senarai terpaut memegang digit nombor paling ketara. Sebagai contoh, nombor 202345 diwakili dalam senarai terpaut sebagai (2->0->2->3->4->5). Untuk menambah 1 pada senarai terpaut ini yang mewakili nombor, kita mesti menyemak nilai bit paling tidak ketara dalam senarai. Jika kurang daripada 9 tidak mengapa, jika tidak kod akan menukar nombor seterusnya dan seterusnya. Sekarang mari kita lihat contoh untuk memahami cara melakukan ini, 1999 diwakili sebagai (1->9->9->9) dan menambah 1 harus mengubahnya

Senarai terpaut ialah struktur data yang menggunakan satu siri nod dengan data dan penunjuk untuk menyusun elemen, dan amat sesuai untuk memproses set data yang besar dan operasi sisipan/pemadaman yang kerap. Komponen asasnya termasuk nod (data dan penunjuk ke nod seterusnya) dan nod kepala (menunjuk ke nod pertama dalam senarai terpaut). Operasi senarai terpaut biasa termasuk: penambahan (sisipan ekor), pemadaman (nilai khusus) dan traversal.

Dalam Python, senarai terpaut ialah struktur data linear yang terdiri daripada jujukan nod, setiap nod mengandungi nilai dan rujukan kepada nod seterusnya dalam senarai terpaut. Dalam artikel ini, kita akan membincangkan cara menambah elemen pada kedudukan pertama dan terakhir senarai terpaut dalam Python. LinkedList inPython Senarai terpaut ialah struktur data rujukan yang digunakan untuk menyimpan set elemen. Ia serupa dengan tatasusunan dalam satu cara, tetapi dalam tatasusunan, data disimpan di lokasi memori bersebelahan, manakala dalam senarai terpaut, data tidak tertakluk kepada syarat ini. Ini bermakna data tidak disimpan secara berurutan tetapi secara rawak dalam ingatan. Ini menimbulkan satu soalan iaitu, bagaimana caranya

LinkedList ialah struktur data biasa, yang terdiri daripada satu siri nod Setiap nod mengandungi dua atribut utama: medan data (Data) dan medan penunjuk (Seterusnya). Antaranya, medan data digunakan untuk menyimpan data sebenar, dan medan penunjuk menghala ke nod seterusnya. Dengan cara ini, senarai terpaut menyimpan data dalam cara yang fleksibel yang sesuai untuk banyak senario aplikasi yang berbeza. Dalam bahasa Go, struktur senarai terpaut juga disokong dengan baik. Cont disediakan dalam perpustakaan standard terbina dalam Go
