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

沈阳教做网站百度运营优化师

沈阳教做网站,百度运营优化师,长沙点梦网站建设,图像处理与网站开发01.数据结构 02.段错误出现的四种场景 02.实现顺序表的头插、尾插、头删、尾删(释放顺序表) main.c #include "seq.h" int main(){ seq_p Screate_seqlist(); inputall(S); insert_head(S); dele…

01.数据结构

02.段错误出现的四种场景

02.实现顺序表的头插、尾插、头删、尾删(释放顺序表)

main.c

#include "seq.h"                
int main(){                     seq_p S=create_seqlist();   inputall(S);                insert_head(S);             delete_head(S);             insert_tail(S);             delete_tail(S);             seq_free(S);                return 0;                   
}                               

seq.c

 #include "seq.h"                                                                                                       seq_p create_seqlist()                                                                                                 {                                                                                                                      seq_p S=(seq_p)malloc(sizeof(seq_list));                                                                           if(S==NULL){                                                                                                       return NULL;                                                                                                   }                                                                                                                  bzero(S,sizeof(seq_list));                                                                                         return S;                                                                                                          }                                                                                                                      int empty_seq(seq_p S)                                                                                                 {                                                                                                                      if(S==NULL){                                                                                                       printf("入参为空\n");                                                                                          return -2;                                                                                                     }                                                                                                                  return S->len==0?1:0;                                                                                              }                                                                                                                      int full_seq(seq_p S)                                                                                                  {                                                                                                                      if(S==NULL){                                                                                                       printf("入参为空\n");                                                                                          return -2;                                                                                                     }                                                                                                                  return S->len==MAX?1:0;                                                                                            }                                                                                                                      //输出数据函数                                                                                                         void output(seq_p S)                                                                                                   {                                                                                                                      int i;                                                                                                             for(i=0;i<S->len;++i){                                                                                             printf("%d ",S->arr[i]);                                                                                       }                                                                                                                  puts("");                                                                                                          }                                                                                                                      //输入数据函数                                                                                                         seq_p input(seq_p S)                                                                                                   {                                                                                                                      printf("请输入您需要插入的数据:");                                                                                 scanf("%d",&S->number);                                                                                            return S;                                                                                                          }                                                                                                                      //先插入数据中的顺序列表                                                                                               seq_p inputall(seq_p S)                                                                                                {                                                                                                                      printf("请输入您要放入空列表中的个数:");                                                                           scanf("%d",&S->num1);                                                                                              printf("请输入数据:");                                                                                             getchar();                                                                                                         for(int i=0;i<S->num1;++i){                                                                                        scanf("%d",&S->arr[i]);                                                                                        S->len++;                                                                                                      }                                                                                                                  return S;                                                                                                          }                                                                                                                      //头插                                                                                                                 seq_p insert_head(seq_p S)                                                                                             {                                                                                                                      int m=full_seq(S);                                                                                                 if(m==1){                                                                                                          printf("顺序列表已满,不能插入数据\n");                                                                         output(S);                                                                                                     return S;                                                                                                      }else if(m==0){                                                                                                    input(S);                                                                                                      int i;                                                                                                         for(i=S->len;i>0;--i){                                                                                         S->arr[i]=S->arr[i-1];                                                                                     }                                                                                                              S->arr[0]=S->number;                                                                                           S->len++;                                                                                                      printf("输出插入头部数据的顺序列表:\n");                                                                       output(S);                                                                                                     return S;                                                                                                      }                                                                                                                  }                                                                                                                      //头删                                                                                                                 seq_p delete_head(seq_p S)                                                                                             {                                                                                                                      int n=empty_seq(S);                                                                                                if(n==1){                                                                                                          printf("顺序列表为空,没有数据可以删除\n");                                                                    return S;                                                                                                      }else if(n==0){                                                                                                    for(int i=1;i<S->len;++i){                                                                                     S->arr[i-1]=S->arr[i];                                                                                     }                                                                                                              S->len=S->len-1;                                                                                               printf("输出删除头部数据的顺序列表\n");                                                                        output(S);                                                                                                     return S;                                                                                                      }                                                                                                                  }                                                                                                                      //尾插                                                                                                                 seq_p insert_tail(seq_p S)                                                                                             {                                                                                                                      int m=full_seq(S);                                                                                                  if(m==1){                                                                                                          printf("顺序列表已满,不能插入尾部数据\n");                                                                     output(S);                                                                                                     return S;                                                                                                      }else if(m==0){                                                                                                    input(S);                                                                                                      S->arr[S->len]=S->number;                                                                                      S->len++;                                                                                                      printf("输出插入尾部数据的顺序列表\n");                                                                        output(S);                                                                                                     return S;                                                                                                      }                                                                                                                  }                                                                                                                      //尾删                                                                                                                 seq_p delete_tail(seq_p S)                                                                                             {                                                                                                                      int n=empty_seq(S);                                                                                                if(n==1){                                                                                                          printf("顺序列表为空,尾部没有数据可以删除\n");                                                                return S;                                                                                                      }else if(n==0){                                                                                                    S->arr[S->len]=0;                                                                                              S->len=S->len-1;                                                                                               printf("输出删除尾部数据的顺序列表:\n");                                                                       output(S);                                                                                                     return S;                                                                                                      }                                                                                                                  }                                                                                                                      //释放顺序表                                                                                                           seq_p seq_free(seq_p S)                                                                                                {                                                                                                                      printf("释放顺序列表前数据:\n");                                                                                   output(S);                                                                                                         if(S!=NULL){                                                                                                       free(S);                                                                                                       S=NULL;                                                                                                        }                                                                                                                  printf("%p\n",S);                                                                                                  return S;                                                                                                          }                                                                                                                      

seq.h

#ifndef __SEQ_H__
#define __SEQ_H__
#include <stdio.h>
#include <string.h>
#include <stdlib.h>
#define MAX 6
typedef struct seq_list
{int arr[MAX];int len;int num1;//开始输入数组中个数int number;//输入数组中的数据
}seq_list,*seq_p;
seq_p create_seqlist();
int empty_seq(seq_p S);
int full_seq(seq_p S);
void output(seq_p S);
seq_p input(seq_p S);
seq_p inputall(seq_p S);seq_p insert_head(seq_p S);
seq_p delete_head(seq_p S);
seq_p insert_tail(seq_p S);
seq_p delete_tail(seq_p S);
seq_p seq_free(seq_p S);
#endif

http://www.qdjiajiao.com/news/5926.html

相关文章:

  • 提供手机网站制作哪家好长春网络优化哪个公司在做
  • 国外有哪些设计网站有哪些问题郴州网站定制
  • 北京建设学院网站google 优化推广
  • 亚马逊如何做站外促销网站企业查询免费
  • 黄石网站建设重庆百度关键词推广
  • 网站一般做几页百度云网盘网页版登录
  • 小说网站做公众号好还是网站好东莞网站优化公司哪家好
  • 建设电子元器件网站郑州百度推广代运营
  • 酒泉网站建设推广seo专业学校
  • 做黄网站违法吗全国各城市疫情搜索高峰进度
  • wordpress 访问很慢关键词优化的软件
  • 如何做自动网站百度搜索软件
  • 用织梦做网站找平台推广
  • 临沂恒商做网站web成品网站源码免费
  • flsah在网站开发中的作用单词优化和整站优化
  • 国际网站建设标准seo有什么作用
  • 东莞石龙网站建设莞网站制作公司网站推广方案
  • 无锡公司网站建设2023网络营销成功案例
  • 杭州seo相关网站seo产品优化免费软件
  • 网站对应不同域名今日搜索排行榜
  • 怎样做百度推广网站网站怎么申请怎么注册
  • 今日上海新闻最新消息整站优化 mail
  • 官方网站下载qq音速中国楼市最新消息
  • 创建视频网站今天国际新闻最新消息10条
  • 电子书网站搭建教程最新长尾关键词挖掘
  • 开县网站建设seo项目培训
  • 杭州做网站公司哪家好网站收录查询
  • 网站做中秋专题怎么弄百搜网络科技有限公司
  • 苏醒wordpress下载广州市网络seo外包
  • 备案网站怎么做落实好疫情防控优化措施