數據結構,鏈表的簡單使用

任意位置刪除:

void Any_Del(LinkListPtr h,int a)//任意刪
{if(NULL==h||a>h->len){printf("刪除失敗");}LinkListPtr p=h;for(int i=0;i<a-1;i++){p=p->next;}LinkListPtr p2=p;p2=p2->next;p->next=p->next->next;free(p2);p2=NULL;h->len--;return;
}

按位置修改:

void Any_Change(LinkListPtr h,DataType a,int b)//任意修改
{if(NULL==h||b>h->len){printf("修改失敗");return ;}LinkListPtr p=h;for(int i=0;i<b-1;i++){p=p->next;}p->next->data=a;return ;
}

按值查找,返回地址

LinkListPtr search(LinkListPtr h,int  a)//按值查找,返回地址
{if(NULL==h||empt(h)){printf("查找失敗");return NULL;}LinkListPtr p=h;while(p->next!=NULL){if(p->data==a){return p;}p=p->next;}
}

?反轉:

void Severse(LinkListPtr h)//反轉輸出
{if(NULL==h||empt(h)){printf("反轉失敗");return;}LinkListPtr p=h;LinkListPtr temp=NULL;while(p->next!=NULL){p=p->next;}temp=p;p=h;for(int i=0;i<h->len-1;i++){p=h;for(int j=0;j<h->len-i-1;j++){p=p->next;}p->next->next=p;}h->next=temp;p->next=NULL;show(h);return;temp=NULL;p=NULL;
}

銷毀:

void  My_free(LinkListPtr h)
{if(NULL==h){printf("銷毀失敗");return ;}LinkListPtr p=h;for(int i=0;i<h->len;i++){p=h;for(int j=0;j<h->len-i;j++){p=p->next;}free(p->next);p=NULL;}free(h);h=NULL;p=NULL;printf("銷毀成功\n");return ;
}

測試文件:main

#include "3.h"
int main()
{LinkListPtr h=caerte();empt(h);end_add(h,1);end_add(h,2);end_add(h,3);end_add(h,4);end_add(h,5);end_add(h,6);show(h);putchar(10);Any_Add(h,9,3);show(h);putchar(10);Any_Del(h,1);show(h);putchar(10);Any_Change(h,7,1);show(h);putchar(10);LinkListPtr p=search(h,9);printf("%p",p);putchar(10);Severse(h);putchar(10);My_free(h);h=NULL;return 0;}

頭文件引用:

#ifndef __3__
#define __3__
#include<stdio.h>
#include<stdlib.h>#endif
typedef  int DataType;
typedef struct node
{union{int len;DataType data;};struct node *next;
}LinkList,*LinkListPtr;LinkListPtr caerte();int empt(LinkListPtr h);int head_add(LinkListPtr h,DataType a);LinkListPtr caerte_node(DataType a);void show(LinkListPtr h);void end_add(LinkListPtr h,DataType a);void Any_Add(LinkListPtr h,DataType a,int b);void Any_Del(LinkListPtr h,int a);void Any_Change(LinkListPtr h,DataType a,int b);LinkListPtr search(LinkListPtr h,int  a);void Severse(LinkListPtr h);void My_free(LinkListPtr h);

?運行截圖:

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/web/63108.shtml
繁體地址,請注明出處:http://hk.pswp.cn/web/63108.shtml
英文地址,請注明出處:http://en.pswp.cn/web/63108.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

Servlet容器來掃描指定包中的類 找到帶有WebServlet注解的類

項目框架如上圖 myweb下邊三個類 package com.qcby.tomcat.myweb;import com.qcby.tomcat.webServlet.WebServlet;WebServlet(urlPatterns {"MyFirstServlet"}) public class MyFirstServlet {}package com.qcby.tomcat.myweb;import com.qcby.tomcat.webServlet.W…

clickhouse 查詢優化思路

最重要的是要學會看懂explain &#xff0c;尤其是下推創建表時&#xff0c;可以選擇表為分布式表。多個表join &#xff0c;創建表時根據join 字段,進行分片&#xff0c;讓數據在同一個節點進行join &#xff0c;提高join 效率。多個表join , 通過創建物化視圖的方式&#xff0…

兩數之和(Hash表)

優質博文&#xff1a;IT-BLOG-CN 一、題目 給定一個整數數組nums和一個整數目標值target&#xff0c;請你在該數組中找出"和"為目標值target的那兩個整數&#xff0c;并返回它們的數組下標。 你可以假設每種輸入只會對應一個答案。但是&#xff0c;數組中同一個元…

C++8--賦值運算符重載

1.運算符重載 C引入運算符的目的是為了增強代碼的可讀性。運算符重載是具有特殊函數名的函數&#xff0c;也具有其返回值類型&#xff0c;函數名字以及參數列表&#xff0c;其返回值類型與參數列表與普通的函數相似。 函數名字為&#xff1a;關鍵字operator后面接需要重載的運算…

P1255 數樓梯

剛開始使用暴力進行求解&#xff0c;結果發現這是一道考驗高精度的題目&#xff0c;后來用高精度的方法&#xff0c;甚至使用到了容器&#xff0c;結果還不如暴力求解的60分&#xff0c;后來看了題解&#xff0c;有一個非常好的思路&#xff0c;即體現了高精度求和&#xff0c;…

pyfink1.20版本下實現消費kafka中數據并實時計算

1、環境 JDK版本&#xff1a;1.8.0_412python版本&#xff1a;3.10.6apache-flink版本&#xff1a;1.20.0flink版本&#xff1a;1.20kafka版本&#xff1a;kafka_2.12-3.1.1flink-sql-connector-kafka版本&#xff1a;3.3.0-1.202、執行python-flink腳本 從kafka的demo獲取消…

數據結構速成

1. 數據結構與算法 2. 順序表 3. 鏈表 4. 棧與隊列 5. 串 6. 樹與二叉樹&#xff08;1&#xff09; 7. 樹與二叉樹&#xff08;2&#xff09; 8. 圖 9. 圖的應用 10. 查找 11. 排序&#xff08;1&#xff09; 12. 排序&#xff08;2&#xff09;

k8s的污點與容忍度

污點&#xff08;Taint&#xff09;針對節點來說&#xff0c;和節點親和性正好相對&#xff0c;節點親和性使Pod被吸引到一類特定的節點&#xff0c;而污點則使節點能夠排斥一類特定的Pod。 容忍度&#xff08;Toleration&#xff09;應用于Pod上&#xff0c;它用來允許調度器…

how to write 述職pptx as a tech manager

As a technical manager, crafting an effective 述職 (performance review) PPT requires you to highlight your leadership, team accomplishments, technical contributions, challenges faced, and future plans. Heres a structured approach to design your PPT: 1. Cov…

從源碼層級深入探索 Spring AMQP 如何在 Spring Boot 中實現 RabbitMQ 集成——消費者如何進行消費

本章節主要從底層源碼探索Spring Boot中RabbitMQ如何進行消費&#xff0c;至于RabbitMQ是如何使用如何生產消息&#xff0c;本章不做過多介紹&#xff0c;感興趣的小伙伴可以參考&#xff1a;從源碼層級深入探索 Spring AMQP 如何在 Spring Boot 中實現 RabbitMQ 集成——生產者…

計算機視覺中的邊緣檢測算法

摘要&#xff1a; 本文全面深入地探討了計算機視覺中的邊緣檢測算法。首先闡述了邊緣檢測的重要性及其在計算機視覺領域的基礎地位&#xff0c;隨后詳細介紹了經典的邊緣檢測算法&#xff0c;包括基于梯度的 Sobel 算子算法、Canny 邊緣檢測算法等&#xff0c;深入剖析了它們的…

Unix 和 Windows 的有趣比較

Unix 和 Windows NT 比較 來源于這兩本書&#xff0c;把兩本書對照來讀&#xff0c;發現很多有意思的地方&#xff1a; 《Unix 傳奇》 https://book.douban.com/subject/35292726/ 《觀止 微軟創建NT和未來的奪命狂奔 》 Showstopper!: The Breakneck Race to Create Windows…

SSM 垃圾分類系統——高效分類的科技保障

第五章 系統功能實現 5.1管理員登錄 管理員登錄&#xff0c;通過填寫用戶名、密碼、角色等信息&#xff0c;輸入完成后選擇登錄即可進入垃圾分類系統&#xff0c;如圖5-1所示。 圖5-1管理員登錄界面圖 5.2管理員功能實現 5.2.1 用戶管理 管理員對用戶管理進行填寫賬號、姓名、…

系列1:基于Centos-8.6部署Kubernetes (1.24-1.30)

每日禪語 “木末芙蓉花&#xff0c;山中發紅萼&#xff0c;澗戶寂無人&#xff0c;紛紛開自落。?”這是王維的一首詩&#xff0c;名叫《辛夷塢》?。這首詩寫的是在辛夷塢這個幽深的山谷里&#xff0c;辛夷花自開自落&#xff0c;平淡得很&#xff0c;既沒有生的喜悅&#xff…

Y20030004基于asp.net+Sql的環保網站的設計與實現(附源碼 調試 文檔)

環保網站的設計與實現 1.摘要要2. 系統功能3.功能結構圖4.界面展示5.源碼獲取 1.摘要要 近幾年國家對于環境管理是高度重視&#xff0c;尤其是對于環境生態的破壞與環境污染&#xff0c;已經嚴重影響到人類的生存和發展。為了使生態環境能夠得到保護和改善&#xff0c;持續發展…

安全計算環境-(一)路由器-1

安全計算環境-網絡設備 安全管理中心針對整個系統提出了安全管理方面的技術控制要求&#xff0c;通過技術手段實現集中管理&#xff1b;涉及的安全控制點包括系統管理、審計管理、安全管理和集中管控。以下以三級等級保護對象為例&#xff0c;描述安全管理中心各個控制要求項的…

D9741是一塊脈寬調制方三用于也收路像機和筆記本電的等設備上的直流轉換器。在便攜式的儀器設備上。

概述&#xff1a; D9741是一塊脈寬調制方三用于也收路像機和筆記本電的等設備上的直流轉換器。在便攜式的儀器設備上。 主要特點&#xff1a; ● 高精度基準電路 ● 定時閂鎖、短路保護電路 ● 低電壓輸入時誤操作保護電路 ● 輸出基準電壓(2.5V) ● 超過工作范圍能進行自動校…

數據挖掘之聚類分析

聚類分析&#xff08;Clustering Analysis&#xff09; 是數據挖掘中的一項重要技術&#xff0c;旨在根據對象間的相似性或差異性&#xff0c;將對象分為若干組&#xff08;簇&#xff09;。同一簇內的對象相似性較高&#xff0c;而不同簇間的對象差異性較大。聚類分析廣泛應用…

Qt 圖形框架下圖形拖動后位置跳動問題

在使用Qt 的圖形框架QGraphicsScene&#xff0c;QGraphicsView實現圖形顯示時。遇到一個很棘手的BUG。 使用的圖形是自定義的QGraphicsObject的子類。 現象是將圖形添加到畫布上之后&#xff0c;用鼠標拖動圖形&#xff0c;圖形能正常改變位置&#xff0c;當再次用鼠標點擊圖…

Vue技術中參數傳遞:Props與事件的實踐指南

在Vue.js中&#xff0c;組件間的參數傳遞是構建動態和交互式應用的核心。本文將深入探討如何通過Props和事件&#xff08;$emit&#xff09;在Vue組件間進行參數傳遞&#xff0c;并提供代碼示例。 Props傳遞數據 Props是Vue中組件間傳遞數據的一種方式&#xff0c;它允許父組…