当前位置: 首页 > news >正文

网站空间与服务器的区别连衣裙一起做网站

网站空间与服务器的区别,连衣裙一起做网站,万网主机服务,手机网站模板下载免费10 链表 一、链表是什么? -- 数据的一种存储方式 -- 链式存储 (1)线性存储 -- 地址连续 -- 自动开辟,自动释放 -- 默认是线性存储 (2)链式存储 -- 地址不连续…

10 链表

一、链表是什么?

                --  数据的一种存储方式         -- 链式存储

(1)线性存储         -- 地址连续         -- 自动开辟,自动释放         -- 默认是线性存储

(2)链式存储         -- 地址不连续         -- 手动开辟,手动释放

二、链式存储所使用的常用函数

1、malloc

函数功能:开辟内存空间

函数头文件:#include<stdlib.h>

函数原型:void *malloc(size_t size);

函数参数:size -- 要开辟的空间大小

函数返回值:void *         -- 开辟的空间的地址         -- 任意类型    -- 方便强转成你需要的类型

注:因为返回值是任意类型,所以一定不要忘记强转!!!

2、perror

函数功能:打印某个函数的执行结果(错误信息)

函数头文件:#include<stdio.h>

函数原型:void perror(const char *s);

函数参数:

                s -- 字符串,函数名

        //因为参数是个字符串类型,所以函数名作为参数时,要用""引起来

函数返回值:无

3、memset

函数功能:初始化内存空间

函数头文件:#include<string.h>

函数原型:void *memset(void *s,int c,size_t n);

函数参数:
        s         -- 要初始化的空间地址
        c         -- 初始化的内容 -- 一般初始化为0
        n         -- 要初始化的空间大小

函数返回值:不用

4、bzero

函数功能:初始化内存空间为0

函数头文件:#include<strings.h>

函数原型:void bzero(void *s,size_t n);

函数参数:
        s         -- 要初始化的空间地址
        n         -- 要初始化的空间大小

函数返回值:无

4、free

函数功能:释放内存空间 --地址依然存在,但是不能够使用

函数头文件:#include<stdlib.h>

函数原型:void free(void *ptr);

函数参数:
                ptr -- 要释放的空间地址

函数返回值:无

三、链表的存储形式

alt text

1、链表是由多个节点组成的

alt text

2、节点的组成:

(1)保存数据                 -- 数据域

(2)保存下一个节点的地址                 -- 指针域

alt text

地址:默认都是首地址

alt text

四、链表操作

        tip: 在vscode中,按住ctrl的同时点击鼠标,就会产生超链接,进到其函数定义处或者是.h文件里。

                ctrl+F,有查询和替换的功能

1、创建节点

alt text

#include "create.h"struct node *create()
{struct node *p = (struct node *)malloc(sizeof(struct node));  //要强转if(p == NULL){perror("malloc");   //参数是字符串,所以函数名要用""引起来return NULL;}memset(&p->pnext,0,sizeof(p->data));//将数据初始化为0,因为不能把指针初始化为0,所以指针和数据分开初始化p->pnext = NULL;printf("创建成功!\n");return p;
} 

2、新增链表

alt text

#include "add.h"struct node *ADD(struct node *phead)
{struct node *pnew = create();printf("请输入你想增加的数据:\n");scanf("%d",&pnew->data);struct node *ptemp = phead;while(ptemp->pnext != NULL){ptemp = ptemp->pnext;}ptemp->pnext = pnew;printf("添加成功!\n");
}

3、删除链表、修改、查询

alt text

(1)删除

        注:这里要ptemp代表的是要删除数据的上一个节点,如果ptemp是要删除的节点的话,则找不到上一个节点的数据。因为是单链表。

#include "del.h"void DEL(struct node *phead)
{if(phead->pnext == NULL){printf("链表为空!\n");return;}int n;printf("请输入你想删除的数据:\n");scanf("%d",&n);struct node *ptemp = phead;while(ptemp->pnext !=NULL){if(ptemp->pnext->data == n){struct node *pdel = ptemp->pnext;ptemp->pnext = ptemp->pnext->pnext;free(pdel);printf("删除成功!\n");return;}ptemp = ptemp->pnext;}printf("查无数据!\n");
}

(2)修改

#include "update.h"void UPDATE(struct node *phead)
{if(phead->pnext == NULL){printf("链表为空!\n");return;}int n;printf("请输入你想更新的数据:\n");scanf("%d",&n);struct node *ptemp = phead;while(ptemp->pnext !=NULL){if(ptemp->pnext->data == n){printf("请输入您要修改的新数据:\n");scanf("%d",&ptemp->pnext->data);printf("更新成功!\n");return;}ptemp = ptemp->pnext;}printf("查无数据!\n");
}

(3)查询

#include "find.h"void FIND(struct node *phead)
{if(phead->pnext == NULL){printf("链表为空!\n");return;}int n;printf("请输入你想查询的数据:\n");scanf("%d",&n);struct node *ptemp = phead;while(ptemp->pnext !=NULL){if(ptemp->pnext->data == n){printf("%d\n",ptemp->pnext->data);printf("查询成功!\n");return;}ptemp = ptemp->pnext;}printf("查无数据!\n");
}

4、遍历链表

alt text

         注:ptemp这里是第一个有效节点,因为phead头节点没有数据域,所以不是有效节点

#include "query.h"void QUERY(struct node *phead)
{if(phead->pnext == NULL){printf("链表为空!\n");return;}struct node *ptemp = phead->pnext;printf("链表存放的数据为:\n");while(ptemp!=NULL){printf("%d\n",ptemp->data);ptemp = ptemp->pnext;}
}

 5、节点排序

五、循环链表

 

六、双向链表

 

http://www.yayakq.cn/news/855665/

相关文章:

  • 学校网站模板图片外贸soho是什么意思
  • 股票网站建设网站建设资料需要公司提交的吗
  • 百度对网站建设公司国人在线做网站
  • 哇塞fm网站维护公司背景设计图
  • 网站被k如何恢复苏州企业商务网站建设
  • 网站开发上线流程网页制作与设计属于什么专业
  • 公司介绍网站怎么做上海人才网网址
  • 商城网站建设实训报告模板网站建设玖金手指谷哥四
  • 网站建设验收单格式陕西省建设网官网首页
  • 龙华网站 建设深圳信科阿里云支持wordpress
  • 做网站哪个语言快网站建设 海豚弯
  • 万网网站编辑网络营销策划书800字
  • 建筑公司网站源码开源苏州做网站设计的公司
  • 深圳松岗网站建设南京关键词优化软件
  • 英文网站中英对照苏州seo快速优化
  • 厦门软件园多客宝网站开发甘肃省住房和城乡建设厅执业资格注册中心网站
  • 大连建设工程设计院有限公司网站网站做语音识别
  • 行业门户网站程序京东官方网上商城app下载
  • 免费自助建站排名做平台好还是自己建网站
  • 鹤山做网站南宁电脑培训网站开发
  • 高端精品网站建设工业设计包括哪些产品
  • 对伊利网站建设建议阿里云突发性能适用于做网站吗
  • 鄂州网站建设与设计网站 防止采集
  • 优化网站建设公司做企业网站需要建多大的画布
  • 商务网站规划与网页制作全网营销建设网站
  • 厦门网站免费制作网站建设的税率
  • 科技企业网站平面设计包括哪些方面的设计
  • 门头沟手机网站建设idea做网站登录
  • 做云图的网站wordpress的分类目录和标签
  • ck播放器做解析网站网站优化方案范文