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

做招聘网站的要求怎样创立一个网站

做招聘网站的要求,怎样创立一个网站,网站建设 单一来源,网站建设 考虑目录 🚀前言🦜任务目标🌟顺序表实现🐍链表实现 🚀前言 大家好!我是 EnigmaCoder。 本文介绍线性表的实验,使用顺序表和链表实现通讯录管理,包含初始化、插入、删除、查询、输出。 &a…

目录

  • 🚀前言
  • 🦜任务目标
  • 🌟顺序表实现
  • 🐍链表实现

🚀前言

在这里插入图片描述

大家好!我是 EnigmaCoder
本文介绍线性表的实验,使用顺序表和链表实现通讯录管理,包含初始化、插入、删除、查询、输出。

🦜任务目标

  1. 线性表数据结构应用:利用顺序表和链表实现动态存储通讯录信息,包括初始化、插入、删除、查询和遍历功能。

  2. 核心算法实现:

  • 动态扩容机制( realloc 实现顺序表空间扩展);

  • 按学号/姓名的精准查询(基于自定义比较函数);

  • 元素的插入与删除(涉及数据移位操作)。

  1. 学生数据样例:
学号(num)姓名(name)性别(sex)电话号码(tel)QQ号码(qq)备注
1001张三138123456781234567890常规数据(男)
1002李四139876543219876543210常规数据(女)
1003王芳15800001111456789123QQ号为9位(合法)
1010刘畅18666668888123456789012QQ号为12位(最大值)

🌟顺序表实现

#include<stdio.h>
#include<stdlib.h>
#include<string.h>#define LIST_INIT_SIZE  10
#define LISTIHCREAHENT 5typedef struct {int num;char name[20];char sex[3];char tel[14];char qq[12];
}ElemType;typedef struct {ElemType* elem;int length;int listsize;
}SqList;int InitList_Sq(SqList& L) {L.elem = (ElemType*)malloc(LIST_INIT_SIZE*sizeof(ElemType));if (!L.elem)exit(-1);L.length = 0;L.listsize = LIST_INIT_SIZE;
}int ListInsert_Sq(SqList& L, int i, ElemType e) {ElemType* newbase;if (i<1 || i>L.length + 1) {return 0;}if (L.length == L.listsize) {newbase = (ElemType*)realloc(L.elem, (LIST_INIT_SIZE + LISTIHCREAHENT) * sizeof(ElemType));if (!L.elem)exit(-1);L.elem = newbase;L.listsize += LISTIHCREAHENT;}for (int j = L.length - 1; j >= i - 1; j--) {L.elem[j + 1] = L.elem[j];}L.elem[i - 1] = e;L.length++;return 1;
}int ListDelete_Sq(SqList& L, int i, ElemType& e) {if (i<0 || i>L.length)return 0;for (int j = i ; j <= L.length-1; j++) {L.elem[j-1] = L.elem[j];}L.length--;return 1;
}int LocateElem_Sq(SqList L, ElemType e, int(*equal)(ElemType, ElemType)) {int i = 1;while (i <= L.length && !equal(e, L.elem[i - 1])) i++;if (i <= L.length) return 1;else return 0;}int comparebynum(ElemType x, ElemType y) {return x.num == y.num ? 1 : 0;
}int comparebyname(ElemType x, ElemType y) {if (strcmp(x.name, y.name) == 0)return 1;else return 0;
}void inputOne(ElemType& x) {scanf("%d%s%s%s%s", &x.num, x.name, x.sex, x.tel, x.qq);
}void outputOne(ElemType x) {printf("%d\t%s\t%s\t%s\t%s\n", x.num, x.name, x.sex, x.tel, x.qq);
}void Output(SqList L) {for (int i = 0; i <= L.length-1; i++) {outputOne(L.elem[i]);}
}int main() {SqList L;int choice,i,y,m;ElemType e,t,x;do{printf("       通讯录管理系统\n");printf("====================================\n");printf("               0:退出\n");printf("               1:建立通讯录\n");printf("               2:插入\n");printf("               3:删除\n");printf("               4:查询\n");printf("               5:输出\n");printf("====================================\n");printf("请选择0-5\n");scanf("%d",&choice);switch(choice){case 0: exit(1);case 1: InitList_Sq(L);break;case 2: printf("input i:");scanf("%d",&i);printf("input one record:");inputOne(e);ListInsert_Sq(L,i,e);break;case 3: printf("input i:");scanf("%d",&i);ListDelete_Sq(L,i,t);break;case 4: printf("41.姓名查询\n42.学号查询\n");printf("输入选项: ");scanf("%d",&y);if(y!=41&&y!=42) {printf("请重新选择。\n");break; }if(y==41){printf("需查询的姓名:");scanf("%s",t.name);m=LocateElem_Sq(L,t,comparebyname); }else {printf("需查询的学号:");scanf("%d",&t.num);m=LocateElem_Sq(L,t,comparebynum);}		        if(m) outputOne(L.elem[m-1]);else  printf("查询失败。\n");break;case 5: Output(L);break;		}}while(choice);free(L.elem);return 0;
}

🐍链表实现

#include <stdio.h>
#include <stdlib.h>
#include <string.h>typedef struct {int num;char name[20];char sex[3];char tel[14];char qq[12];
} ElemType;typedef struct LNode {ElemType data;struct LNode* next;
} LNode, * LinkList;void InitList_L(LinkList& L) {L = (LinkList)malloc(sizeof(LNode));L->next = NULL;
}int ListInsert_L(LinkList& L, int i, ElemType e) {LinkList p = L, s;int j = 0;while (p && j < i - 1) {p = p->next;j++;}if (!p || j > i - 1) return -1;s = (LinkList)malloc(sizeof(LNode));s->data = e;s->next = p->next;p->next = s;return 1;
}int ListDelete_L(LinkList& L, int i, ElemType& e) {LinkList p = L, q;int j = 0;while (p->next && j < i - 1) {p = p->next;j++;}if (!(p->next) || j > i - 1) return -1;q = p->next;p->next = q->next;e = q->data;free(q);return 1;
}LinkList LocateElem_L(LinkList L, ElemType e, int(*op)(ElemType a, ElemType b)) {LinkList p = L->next;while (p && !op(p->data, e)) {p = p->next;}return p;
}int comparebynum(ElemType x, ElemType y) {return x.num == y.num ? 1 : 0;
}int comparebyname(ElemType x, ElemType y) {return strcmp(x.name, y.name) == 0 ? 1 : 0;
}void inputOne(ElemType& x) {printf("请输入学号、姓名、性别、电话、QQ:");scanf("%d%s%s%s%s", &x.num, x.name, x.sex, x.tel, x.qq);
}void outputOne(ElemType x) {printf("%d\t%s\t%s\t%s\t%s\n", x.num, x.name, x.sex, x.tel, x.qq);
}void outputList(LinkList L) {LinkList p = L->next;while (p) {outputOne(p->data);p = p->next;}
}int main() {LinkList L;int choice, i, y;ElemType e, t;do {printf("       通讯录管理系统\n");printf("====================================\n");printf("               0:退出\n");printf("               1:建立通讯录\n");printf("               2:插入\n");printf("               3:删除\n");printf("               4:查询\n");printf("               5:输出\n");printf("====================================\n");printf("请选择0 - 5\n");scanf("%d", &choice);switch (choice) {case 0:exit(1);case 1:InitList_L(L);break;case 2:printf("input i:");scanf("%d", &i);inputOne(e);if (ListInsert_L(L, i, e) == -1) {printf("插入失败\n");}break;case 3:printf("input i:");scanf("%d", &i);if (ListDelete_L(L, i, e) == -1) {printf("删除失败\n");}else {printf("删除的记录为:");outputOne(e);}break;case 4:printf("41.姓名查询\n42.学号查询\n");printf("输入选项: ");scanf("%d", &y);if (y != 41 && y != 42) {printf("请重新选择。\n");break;}if (y == 41) {printf("需查询的姓名:");scanf("%s", t.name);LinkList result = LocateElem_L(L, t, comparebyname);if (result) {outputOne(result->data);}else {printf("查询失败。\n");}}else {printf("需查询的学号:");scanf("%d", &t.num);LinkList result = LocateElem_L(L, t, comparebynum);if (result) {outputOne(result->data);}else {printf("查询失败。\n");}}break;case 5:outputList(L);break;}} while (choice);LinkList p = L;while (p) {LinkList temp = p;p = p->next;free(temp);}return 0;
}    

文章转载自:

http://9rVmxu9E.ktfbL.cn
http://D93oCzJc.ktfbL.cn
http://1AFTPQOX.ktfbL.cn
http://yxF23LNJ.ktfbL.cn
http://jRM9olzx.ktfbL.cn
http://yJ9T385q.ktfbL.cn
http://dTVZZpxM.ktfbL.cn
http://GKg9Nopl.ktfbL.cn
http://RlHn2WAI.ktfbL.cn
http://taPfYOsz.ktfbL.cn
http://LQGDejbu.ktfbL.cn
http://eB8aMlcC.ktfbL.cn
http://bzZkc8qJ.ktfbL.cn
http://8PYbH4Sk.ktfbL.cn
http://rV8dpKVg.ktfbL.cn
http://vaKDsOJh.ktfbL.cn
http://ESTQTC2x.ktfbL.cn
http://miaKHXUc.ktfbL.cn
http://Pxm7IKSs.ktfbL.cn
http://ebwQDZhr.ktfbL.cn
http://KPDo9XMb.ktfbL.cn
http://UBV6Jbx0.ktfbL.cn
http://7Mq2yb5H.ktfbL.cn
http://fuhEqcxs.ktfbL.cn
http://FGwAwcg3.ktfbL.cn
http://advU1ize.ktfbL.cn
http://8JQqAdsD.ktfbL.cn
http://K6n5JC8h.ktfbL.cn
http://fY0TLWb7.ktfbL.cn
http://sYaFNxJ6.ktfbL.cn
http://www.dtcms.com/wzjs/689560.html

相关文章:

  • 网站下载app免费安全自己做网站的流程
  • 做一个企业的网站怎么做长沙定制网页设计
  • 成华区微信网站建设公做服装广告素材网站有哪些
  • 开淘宝店和自己做购物网站哪个好WordPress站点地图html代码
  • 公司网站做么做百度排名wordpress 重定向的次数过多
  • 公司网站设计需要多少钱网站流行趋势
  • php开源公司网站排名好的网站开发
  • 郑州网站建设外包业务特价网站建设价格
  • 青岛网站建设seo优化wordpress添加产品图
  • 杭州网站推广宣传江苏省备案网站
  • 网站找人做的他能登管理员吗网站代码怎么写
  • 常州专门做网站的公司有哪些微信端网站开发流程
  • 传播易网站开发方案网站开发 百度编辑器
  • 潍坊免费做网站wordpress免费模版安装教程
  • 企业手机网站建设wordpress托管 安装
  • iis 建网站手机访问网站开发及app开发报价单
  • 荆州网站建设 众火网宿迁网站建设宿迁
  • 涿州网站建设公司企业网站内容建设 知乎
  • 做视频的网站有哪些用插件做的炫酷网站
  • 成都科技网站建设电物业管理系统价格
  • 网站建设來超速云建站asp.net 跳转别的网站
  • 企业网站开发使用方法镇江网站建设活动方案
  • wordpress网站前台打开慢wordpress 七牛插件
  • 如何制作网上商城网站优化搜索排名
  • 建网站需多少钱工业设计专业三大软件
  • 做交易网站需要办什么证网站开发合同书
  • 企业网站策划过程南京做网站制作公司
  • 网站建设 尚瑞科技长春网站建设于健
  • 做网站大图素材兰州网站seo分析
  • 城乡建设部统计网站思途建站