日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 人文社科 > 生活经验 >内容正文

生活经验

C语言程序设计 细节总结(链表)

發布時間:2023/11/27 生活经验 37 豆豆
生活随笔 收集整理的這篇文章主要介紹了 C语言程序设计 细节总结(链表) 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

12 鏈表

12.1 鏈表概述

1.采用動態存儲分配的一種重要數據結構,一個鏈表中存儲的是一批同類型的相關聯數據
2.動態分配時,每個結點之間可以不連續,結點之間的聯系可以用指針實現,每個結點分兩個域:數據域和指針域

12.2 處理動態鏈表所需函數(需要包含頭文件stdlib.h)

1.分配內存空間函數malloc()
(1)函數調用形式:(類型說明符*)malloc(size)
(2)malloc函數要求系統在內存分配一塊長度為size字節的連續區域,函數返回值為區域首地址
(3)函數返回的指針是無類型的,(類型說明符*)表示把返回值強制轉換為該類型指針
(4)例如,p=(char*)malloc(100); //表示分配100個字節的內存空間,強制轉換為字符數組類型,函數返回值為指向該字符數組的指針,把該指針賦給指針變量p
2.分配內存空間函數calloc()
(1)函數調用形式:(類型說明符*)calloc(n,size)
(2)calloc函數要求系統在內存動態存儲區分配n塊長度為size字節的連續區域
(3)例如,ps=(struct stu *)calloc(2,sizeof(struct stu));
3.釋放內存空間函數free()
(1)函數調用形式:free§
(2)釋放指針變量p所指向的一塊內存區域

12.3 單鏈表基本操作

1.建立鏈表
(1)調用malloc()函數向系統申請一個結點的存儲空間
(2)輸入該結點的值,并把該節點的指針成員設置為0
(3)把該結點加入鏈表中,如果鏈表為空,則該結點為鏈表頭結點,否則該結點加入表尾
2.鏈表查找
3.插入結點
(1)調用malloc()函數分配一個結點空間,并輸入新節點的值
(2)查找合適的插入位置
(3)修改相關節點的指針域
4.刪除結點
(1)從表頭結點開始,確定要刪除結點的地址q,以及q的前一個結點p的地址
(2)如果q為頭結點,刪除后應修改表頭指針head,否則修改結點p的指針域
(3)回收結點q的空間

代碼:

#include<stdio.h>
#include<stdlib.h>
struct node  //定義結點結構
{int num;int score;struct node *next;
};
//1.創建鏈表
struct node *creat(struct node *head,int n)
{struct node *p,*q;for(int i=1; i<=n; i++){q=(struct node *)malloc(sizeof(struct node)); //申請結點空間scanf("%d%d",&q->num,&q->score);  //輸入結點值q->next=NULL;  //指針成員設為NULLif(head==NULL)  //如果鏈表為空,該結點為鏈表頭結點{head=q;}else  //否則加入表尾{p->next=q;}p=q;  //q賦給p,為下一次q開辟空間保留上一次結點地址}return head;
};
//2.輸出鏈表
void print(struct node *head)
{struct node *p;p=head;while(p!=NULL){printf("%d %d\n",p->num,p->score);p=p->next;}
}
//3.鏈表查找
void find(struct node *head)
{int x;printf("請輸入要查找的序號:\n");scanf("%d",&x);struct node *p;p=head;while(p!=NULL&&p->num!=x){p=p->next;}if(p){printf("num=%d\tscore=%d\n",p->num,p->score);}else{printf("%d not be found!\n",x);}
}
//4.插入結點
struct node *insert(struct node *head)
{struct node *p,*q,*p1;q=(struct node*)malloc(sizeof(struct node)); //為新結點申請空間printf("請輸入要插入的結點(序號、分數):\n");scanf("%d%d",&q->num,&q->score);//在空表中插入if(head==NULL){q->next=NULL;head=q;return head;}//新結點插入表頭之前if(head->num > q->num){q->next=head;head=q;return head;}//在鏈表中查找插入位置p=head;p1=head->next;while(p1!=NULL&&p1->num < q->num){p=p1;  //循環結束后p是上一結點p1=p1->next;  //循環結束后p1是插入位置下一結點}q->next=p1;p->next=q;return head;
};
//5.刪除結點
struct node *dele(struct node *head)
{int i,x;printf("請輸入要刪除的序號:\n");scanf("%d",&x);struct node *p,*q;q=head;while(q!=NULL&&q->num!=x){p=q;  //保留上一結點地址q=q->next;}if(q==NULL){printf("not found!");}else{if(q==head){head=q->next;}else{p->next=q->next;}free(q);}return head;
};
int main()
{struct node *head=NULL;  //定義表頭指針head=creat(head,5);print(head);find(head);head=insert(head);print(head);head=dele(head);print(head);return 0;
}

總結

以上是生活随笔為你收集整理的C语言程序设计 细节总结(链表)的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。

主站蜘蛛池模板: 美女试爆场恐怖电影在线观看 | 打屁股疼的撕心裂肺的视频 | 一本免费视频 | 不卡的av在线 | 田中瞳av | 男人的天堂国产 | 日韩毛片免费看 | 老鸭窝久久 | 黄a视频 | 久久男女 | 天天摸夜夜添狠狠添婷婷 | 国产日韩一区二区 | 爱爱视频在线播放 | 韩国成人理伦片免费播放 | 青青青网| 欧洲视频一区二区 | 男男play呻吟动漫网站 | 国产网站大全 | 爱久久视频 | 精品国产一区二区三区性色av | 用力使劲高潮了888av | 国产女教师bbwbbwbbw | 爱爱91| 最新免费av | 国产精品电影一区二区三区 | 午夜欧美视频 | 神马午夜av| 亚洲品质自拍视频网站 | 久久免费福利 | 91中文字幕在线视频 | 影音先锋精品 | 东北女人啪啪ⅹxx对白 | 久久av免费 | 国产精品视频在线观看免费 | av在线资源站 | 国产伦精品一区二区三区四区 | 欧美jizz欧美性大全 | 老外一级片 | 日韩成人在线视频观看 | 欧美久草视频 | 国内自拍在线 | 涩涩屋视频在线观看 | 日韩毛毛片 | r级无码视频在线观看 | 爱情岛论坛亚洲自拍 | 日本免费高清一区二区 | 久久avav | 爱爱中文字幕 | 亚洲男人第一网站 | 在线观看高h | 久久久伦理片 | 欧美一区二区三区视频 | 1515hh成人免费看 | 在线天堂中文 | 久操青青 | 领导揉我胸亲奶揉下面 | 97久久精品人人澡人人爽 | 国产婷婷色 | 99久久视频 | 奇米av在线| 免费黄色网址大全 | 啊av在线 | 久久久久人妻一区 | 在线观看av免费 | 欧美极品视频在线观看 | 国产r级在线 | 神马久久网 | 一级视频在线免费观看 | 男男一级淫片免费播放 | 国产精选网站 | 免费午夜人成电影 | 国产一区二区三区四区精 | 国产精品久久久久久久久久久久久久久久久久 | 精品视频区| 丰满少妇被猛烈进入高清播放 | 国模私拍一区二区三区 | 日本中文字幕免费观看 | 91视频www | 精品女厕偷拍一区二区 | 先锋资源av网 | 夜夜操操操 | 日日操夜夜爱 | 亚洲黄色一区二区 | 久久久久亚洲av成人网人人网站 | 国产人妻精品一区二区三区不卡 | 久久永久视频 | 国产精品videos | 自拍99页 | 少妇高潮一区二区三区 | 一级黄色片大全 | 亚洲av无码一区二区三区人 | 成人毛片网站 | 久久久ww | 天天天天干 | 日韩美女视频 | 亚洲一级特黄毛片 | 91亚洲国产成人久久精品麻豆 | 国产极品粉嫩 | 91成人一区二区三区 |