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

庆阳网站建设东莞市民最新疫情

庆阳网站建设,东莞市民最新疫情,百度搜索 相关网站,呼和浩特疫情最新情况函数功能: 0.排序(逆置和顺序排序) 1.回显 2.头插 3.位插 4.尾插 5.尾删 6.头删 7.位删 8.查找 (按值或按位查找) 9.修改 (按值或按位修改) 10.退出 main.c …

 函数功能:

0.排序(逆置和顺序排序)    1.回显    2.头插    3.位插    4.尾插    5.尾删     6.头删    

7.位删    8.查找 (按值或按位查找)   9.修改 (按值或按位修改)   10.退出

main.c

#include "link.h"int main()
{link_p H = link_create();if(NULL == H)printf("申请失败");else{int i;do{printf("0.排序\t1.回显\t2.头插\t3.位插\t4.尾插\t5.尾删\n");printf("6.头删\t7.位删\t8.查找\t9.修改\t10.退出\n");printf("请输入指令选项:");scanf("%d", &i);switch(i){case 0: link_short(H);break;case 2: head_add(H);break;case 1: link_show(H);break;case 3: idex_inset(H);break;case 4:	tail_add(H);break;case 5: tail_delete(H);break;case 6: head_delete(H);break;case 7: idex_delete(H);break;case 8: idex_find(H);break;case 9:	idex_change(H);break;case 10: link_delete(H);printf("已退出\n");break;}}while(10!= i);}
}

link.c

#include "link.h"//create link head
link_p link_create()
{link_p H = (link_p)malloc(sizeof(link));if(NULL == H){printf("失败");return NULL;}H -> len = 0;printf("申请成功\n");return H;
}//创建数据结点
link_p link_node()
{link_p p = (link_p)malloc(sizeof(link));if(NULL == p){printf("失败");return NULL;}printf("请输入数据结点存储的值:");scanf("%d", &p -> data);p -> next = NULL;return p;
}//头插
void head_add(link_p H)
{link_p in = link_node();in -> next = H -> next;H -> next = in;H -> len++;
}//尾插
void tail_add(link_p H)
{//创建结点link_p p = link_node();//将结点链接到尾部link_p q = H;for(int i = 0; i < H -> len; i++)q = q -> next;q -> next = p;H -> len++;
}//位插
void idex_inset(link_p H)
{//输入位置,判断是否能进行插入操作printf("位置:");int num;scanf("%d", &num);if(num < 1 || num > H -> len + 1){printf("插入失败");return;}//找到插入位置的前一个结点link_p q = H;for(int i = 0; i < num - 1; i++)q = q -> next;//创建结点链接到尾部 link_p p = link_node();p -> next = q -> next;q -> next = p;H -> len++;
}//头删
void head_delete(link_p H)
{if(empty(H)){printf("空");return;}link_p p = H -> next;H -> next = p -> next;H -> len--;free(p);p = NULL;}//尾删
void tail_delete(link_p H)
{if(empty(H)){printf("空");return;}link_p q = H;for(int i = 0; i < H -> len - 1; i++)q = q -> next;//找到倒数第二个数据的地址link_p p = q -> next;q -> next = p -> next; H -> len--;free(p);p = NULL;
}//位删
void idex_delete(link_p H)
{printf("位置:");int num;scanf("%d", &num);if(empty(H) || num > H -> len || num < 1){printf("空");return;}link_p q = H;for(int i = 0; i < num - 1; i++)q = q -> next;link_p p = q -> next;q -> next = p -> next;H -> len--;free(p);p = NULL;
}//查找
link_p idex_find(link_p H)
{if(empty(H)){printf("空");return NULL;}printf("1.按位查找\t2.按值查找\n请输入你的选项:");int n;scanf("%d", &n);switch(n){case 1:printf("位置:");scanf("%d", &n);if(n > H -> len || n < 1){printf("空");return NULL;}link_p q = H;for(int i = 0; i < n; i++)q = q -> next;return q;case 2: printf("请输入查找的值");datatype data;scanf("%d", &data);link_p p = H -> next;do{if(p -> data == data){printf("%p\n", p);return p;}p = p -> next;}while(p != NULL);printf("没有你要查找的值\n");}			
}//修改
void idex_change(link_p H)
{if(empty(H)){printf("空");return;}printf("1.按位修改\t2.按值修改\n请输入修改选项:");int i;scanf("%d", &i);switch(i){case 1:printf("位置:");int num;scanf("%d", &num);if(empty(H) || num > H -> len || num < 1){printf("空");return;}link_p q = H;for(int i = 0; i < num; i++)q = q -> next;printf("请输入修改后的值:");scanf("%d", &q -> data);link_show(H);break;case 2:if(empty(H)){printf("空");return;}printf("请输入需要修改的值");datatype data;scanf("%d", &data);link_p p = H -> next;for(int i = 0; i < H -> len; i++){if(p -> data == data){printf("请输入修改后的值:");scanf("%d", &p -> data);return;}p = p -> next;}printf("没有你要修改的值");}
}//排序
void link_short(link_p H)
{if(empty(H)){printf("空");return;}printf("1.顺序排序\t2.逆置\n请输入你的选项:");int n, m, i;scanf("%d", &n);link_p q = H -> next;m = H -> len; datatype arr[m];switch(n){case 1:for(int i = 0; i < H -> len - 1; i++){link_p p = q -> next;for(int j = i + 1; j < H -> len; j++){if(q -> data > p -> data)p -> data = q -> data + p -> data - (q -> data = p -> data);p = p -> next;}q = q -> next;}break;case 2:i = 0;n = H -> len; q = H -> next;do{arr[i] = q -> data;i++;q = q -> next;}while(q != NULL);q = H -> next;do{m--;q -> data = arr[m];q = q ->next;}while(q != NULL);}link_show(H);
}//销毁链表
void link_delete(link_p H)
{while(H -> next != NULL)tail_delete(H);
}
//回显数据
void link_show(link_p H)
{if(empty(H)){printf("空");return ;}link_p p = H -> next;printf("————");for(int i = 0; i < H -> len; i++){printf("%d",p -> data);p = p -> next;}printf("————");putchar(10);
}//判空
int empty(link_p H)
{return H == NULL;
}

link.h

#ifndef __LINK_H__
#define __LINK_H__#include <stdio.h>
#include <stdlib.h>
#include <string.h>typedef int datatype;
typedef struct link
{union{datatype data;int len;};struct link *next;
}link, *link_p;//创建头结点和数据节点
link_p link_create();
link_p link_node();//节点功能函数
void head_add(link_p H);
void tail_add(link_p H);
void idex_inset(link_p H);
void head_delete(link_p H);
void tail_delete(link_p H);
void idex_delete(link_p H);
link_p idex_find(link_p H);
void idex_change(link_p H);
void link_delete(link_p H);
void link_short(link_p H);
void link_show(link_p H);
int empty(link_p H);
#endif

http://www.hkea.cn/news/186127/

相关文章:

  • 大型网站建设机构津seo快速排名
  • 建设证件查询官方网站宁波做网站的公司
  • 那些网站招聘在家里做的客服网店推广策略
  • 湘西 网站 建设 公司sem代运营托管公司
  • 用css为wordpress排版西安seo外包服务
  • vs2005做网站百度推广官方网站登录入口
  • 乐从网站建设公司北京seo优化推广
  • 如何在网上接做网站的小项目市场监督管理局电话
  • 淘宝购物站优化
  • 石家庄最新疫情轨迹河南网站优化公司哪家好
  • 网站色彩搭配服务器ip域名解析
  • 哪个网站专业做安防如何注册域名网站
  • 穆棱市住房和城乡建设局网站关键词词库
  • 成都网站建设市场什么是网络营销的核心
  • 深圳找人做网站廊坊优化外包
  • 衡阳市城市建设投资有限公司网站湖南企业seo优化报价
  • css做网站常用百度权重优化软件
  • 合合肥网站建设制作网站用什么软件
  • 杭州网站设计公司推荐网络推广与优化
  • 移动惠生活app下载网址荆门网站seo
  • 做网站很赚钱吗关键词自助优化
  • wordpress小工具里的用户中心南京谷歌优化
  • 网站开发中茶叶网络营销策划方案
  • 临海市住房与城乡建设规划局 网站目前最新的营销模式有哪些
  • 高校建设网站的特色如何建立一个网站
  • 公司做网站域名归谁搜索引擎营销策划方案
  • 怎么做外贸个人网站seo综合查询工具可以查看哪些数据
  • 黑客网站盗qq百度seo公司整站优化
  • 网页设计代码不能运行seo的中文名是什么
  • 灵溪网站建设外贸网站谷歌seo