04.线性表(三)链式存储结构.单链表2
链式存储结构.单链表2 顺序存储结构的创建实质是一个数组的初始化,存储空间连续且其大小和类型已经固定;单链表存储空间不连续,是一种动态结构且它所占用空间的大小和位置是不需要预先分配划定的,可以根据系统的情况和实际的需求即时生成。 一.单链表的整
链式存储结构.单链表2顺序存储结构的创建实质是一个数组的初始化,存储空间连续且其大小和类型已经固定;单链表存储空间不连续,是一种动态结构且它所占用空间的大小和位置是不需要预先分配划定的,可以根据系统的情况和实际的需求即时生成。 一.单链表的整表创建 创建单链表的过程就是一个动态生成链表的过程,即从“空表”的初始化起,依次建立各元素结点,并逐个插入链表。 1.算法思路 (1)声明一个结点p和计数器变量i; (2)初始化一空链表L (3)让链表L的头结点的指针指向NULL,即建立一个带头结点的单链表 *L=(LinkList)malloc(sizeof(Node)); (*L)->next=NULL; (4)循环: a.生成一个新结点赋值给p; b.随机生成一个数字赋值给p的数据域p->data; c.将p插入到头结点之前与一新结点之间 2.源码实现 (1)头插法:始终让新结点在第一的位置 /*随机产生n个元素的值,建立带头结点的单链线性表L(头插法)*/ typedef struct Node *LinkList; //定义LinkList void CreateListHead(LinkList *L,int n) { LinkList p; int i; srand(time(0)); //初始化随机数种子 /*1.建立一个带头结点的单链表*/ *L=(LinkList)malloc(sizeof(Node)); //初始化一空链表L (*L)->next=NULL; //让链表L的头结点的指针指向NULL /*2.循环插入新结点到单链表中*/ for(i=0;i
升华笔记: 1.如何创建一个带头结点的单链表? (1)初始化一空链表L (2)让链表L的头结点的指针指向NULL 源码实现: LinkList *L; *L=(LinkList)malloc(sizeof(Node)); (*L)->next=NULL; 2.头插法如何实现插入新结点? (1)生成一个新结点 (2)设置新结点的数据域 (3)设置新结点的指针域 (4)将新结点作为上一个结点的后继结点 源码实现:p=(LinkList)malloc(sizeof(Node)); p->data=e; //e为数据 p->next=(*L)->next; //设置新结点的指针域:使p结点的后继结点为头指针之前指向的结点 (*L)->next=p; //更改头结点的后继结点为新结点p 3.尾差法如何实现插入新结点? (1)声明一个结点r,并将其设置为链表L的尾部结点 (2)生成一个新结点p (3)设置新结点的数据域 (4)将表尾终端结点的指针指向新结点,并将新结点设置为尾部结点 (5)设置新的表位结点指针指向NULL,表示当前链表结束 源码实现:LinkList *L,p; *L=(LinkList)malloc(sizeof(Node)); r=*L; p=(LinkList)malloc(sizeof(N【本文来自鸿网互联 (http://www.68idc.cn)】ode)); p->data=rand()%100+1; r->next=p; r=p;
二.单链表的整表删除
1.算法思路
(1)声明一个结点p和q; (2)将单链表的第一个结点赋值给p (3)循环: a.将下一结点赋值给q b.释放p c.将q赋值给p 2.源码实现: /*初始化条件:单链式线性表L已存在,操作结果:将单链表L重置为空表*/ typedef struct Node *LinkList; //定义LinkList
typedef int Status;
Status ClearList(LinkList *L) { LinkList p,q; p=(*L)->next; //将单链表的第一个结点赋值给结点p while(p) { q=p->next; //将p的下一个结点设置为q free(p); //释放结点p p=q; //p指向下一结点q } (*L)->next=NULL; //最后,单链表头结点指针域为空 returm OK; } 三.单链表结构与顺序存储结构的优缺点 1.存储分配方式 (1)顺序存储结构用一段联系的存储单元依次存储线性表的数据元素 (2)单链表采用链式存储结构,用一组任意的存储单元存放线性表的元素 2.时间性能 (1)查找:顺序存储结构O(1);单链表O(n) (2)删除和插入:顺序存储结构需要平均移动表长一半的元素,时间为O(n);单链表在指出某位置的指针后,插入和删除时间仅为O(1) 3.空间性能 (1)顺序存储结构需要预分配存储空间,分大了,浪费,分小了易发生溢出; (2)单链表不需要分配存储空间,只要有就可以分配,元素个数不受限制

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

AI Hentai Generator
Menjana ai hentai secara percuma.

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



Laman web ini melaporkan pada 7 Mac bahawa Dr. Zhou Yuefeng, Presiden Barisan Produk Penyimpanan Data Huawei, baru-baru ini menghadiri persidangan MWC2024 dan secara khusus menunjukkan penyelesaian penyimpanan magnetoelektrik OceanStorArctic generasi baharu yang direka untuk data hangat (WarmData) dan data sejuk (ColdData). Zhou Yuefeng, Presiden barisan produk penyimpanan data Huawei, mengeluarkan satu siri penyelesaian inovatif Sumber imej: Siaran akhbar rasmi Huawei yang dilampirkan pada tapak ini adalah seperti berikut: Kos penyelesaian ini adalah 20% lebih rendah daripada pita magnetik. penggunaan kuasa adalah 90% lebih rendah daripada cakera keras. Menurut bloksandfiles media teknologi asing, jurucakap Huawei turut mendedahkan maklumat tentang penyelesaian storan magnetoelektrik: Cakera magnetoelektronik (MED) Huawei ialah inovasi utama dalam media storan magnetik. Generasi pertama ME

Petua pembangunan Vue3+TS+Vite: Cara menyulitkan dan menyimpan data Dengan perkembangan pesat teknologi Internet, keselamatan data dan perlindungan privasi menjadi semakin penting. Dalam persekitaran pembangunan Vue3+TS+Vite, cara menyulitkan dan menyimpan data adalah masalah yang perlu dihadapi oleh setiap pembangun. Artikel ini akan memperkenalkan beberapa teknik penyulitan dan storan data biasa untuk membantu pembangun meningkatkan keselamatan aplikasi dan pengalaman pengguna. 1. Penyulitan Data Penyulitan Data Bahagian Hadapan Penyulitan Bahagian Hadapan ialah bahagian penting dalam melindungi keselamatan data. Biasa digunakan

Apakah cache? Cache (sebutan ka·shay) ialah komponen perkakasan atau perisian berkelajuan tinggi khusus yang digunakan untuk menyimpan data dan arahan yang kerap diminta, yang seterusnya boleh digunakan untuk memuatkan tapak web, aplikasi, perkhidmatan dan aspek lain bahagian sistem dengan lebih pantas. . Caching menjadikan data yang paling kerap diakses tersedia. Fail cache tidak sama dengan memori cache. Fail cache merujuk kepada fail yang kerap diperlukan seperti PNG, ikon, logo, shader, dsb., yang mungkin diperlukan oleh berbilang program. Fail ini disimpan dalam ruang pemacu fizikal anda, biasanya tersembunyi. Memori cache, sebaliknya, adalah sejenis memori yang lebih pantas daripada memori utama dan/atau RAM. Ia sangat mengurangkan masa capaian data kerana ia lebih dekat dengan CPU dan lebih pantas berbanding dengan RAM

Git ialah sistem kawalan versi teragih yang pantas, boleh dipercayai dan boleh disesuaikan. Ia direka bentuk untuk menyokong aliran kerja bukan linear teragih, menjadikannya ideal untuk pasukan pembangunan perisian dari semua saiz. Setiap direktori kerja Git ialah repositori bebas dengan sejarah lengkap semua perubahan dan keupayaan untuk menjejak versi walaupun tanpa akses rangkaian atau pelayan pusat. GitHub ialah repositori Git yang dihoskan pada awan yang menyediakan semua ciri kawalan semakan yang diedarkan. GitHub ialah repositori Git yang dihoskan pada awan. Tidak seperti Git yang merupakan alat CLI, GitHub mempunyai antara muka pengguna grafik berasaskan web. Ia digunakan untuk kawalan versi, yang melibatkan kerjasama dengan pembangun lain dan menjejaki perubahan pada skrip dan

Cara menggunakan sessionStorage dengan betul untuk menyimpan maklumat sensitif memerlukan contoh kod khusus Sama ada dalam pembangunan web atau pembangunan aplikasi mudah alih, kami selalunya perlu menyimpan dan memproses maklumat sensitif, seperti bukti kelayakan log masuk pengguna, nombor ID, dsb. Dalam pembangunan bahagian hadapan, menggunakan sessionStorage ialah penyelesaian storan biasa. Walau bagaimanapun, memandangkan sessionStorage ialah storan berasaskan pelayar, beberapa isu keselamatan perlu diberi perhatian untuk memastikan maklumat sensitif yang disimpan tidak diakses dan digunakan secara berniat jahat.

Ungkapan Lambda ialah fungsi tanpa nama tanpa nama, dan sintaksnya ialah: (parameter_list)->expression. Mereka menampilkan ketanpa nama, kepelbagaian, kari dan penutupan. Dalam aplikasi praktikal, ungkapan Lambda boleh digunakan untuk mentakrifkan fungsi secara ringkas, seperti fungsi penjumlahan sum_lambda=lambdax,y:x+y, dan gunakan fungsi map() pada senarai untuk melaksanakan operasi penjumlahan.

Bagaimanakah PHP dan swoole mencapai caching dan penyimpanan data yang cekap? Gambaran Keseluruhan: Dalam pembangunan aplikasi web, caching dan penyimpanan data adalah bahagian yang sangat penting. PHP dan swoole menyediakan kaedah yang cekap untuk cache dan menyimpan data. Artikel ini akan memperkenalkan cara menggunakan PHP dan swoole untuk mencapai caching dan penyimpanan data yang cekap, serta memberikan contoh kod yang sepadan. 1. Pengenalan kepada swoole: swoole ialah enjin komunikasi rangkaian tak segerak berprestasi tinggi yang dibangunkan untuk bahasa PHP

Jadual MySQL.proc ialah jadual sistem yang menyimpan maklumat prosedur dan fungsi tersimpan dalam pangkalan data MySQL Dengan pemahaman yang mendalam tentang struktur dan tujuannya, anda boleh memahami dengan lebih baik mekanisme pengendalian prosedur dan fungsi tersimpan dalam MySQL, dan melaksanakan yang berkaitan. pengurusan dan pengoptimuman. Struktur dan tujuan jadual MySQL.proc akan dianalisis secara terperinci di bawah, dan contoh kod khusus akan disediakan. 1. Struktur jadual MySQL.proc Jadual MySQL.proc ialah jadual sistem yang menyimpan definisi dan maklumat berkaitan semua prosedur dan fungsi yang disimpan.
