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

咸阳免费做网站公司easyui 做的网站

咸阳免费做网站公司,easyui 做的网站,wordpress的留言功能,用做网站使用的图片查找 关于顺序查找和折半查找#xff0c;可点击此处进入旧金山大学提供的动画演示网站。 顺序查找 ​ 顺序查找又称线性查找。它对于顺序表和链表都是适用的。对于顺序表#xff0c;可通过数组下标递增来顺序扫描每个元素#xff1b;对于链表#xff0c;则通过指针next来…查找 关于顺序查找和折半查找可点击此处进入旧金山大学提供的动画演示网站。 顺序查找 ​ 顺序查找又称线性查找。它对于顺序表和链表都是适用的。对于顺序表可通过数组下标递增来顺序扫描每个元素对于链表则通过指针next来依次扫描每个元素。 ​ 本次顺序表用指针也就是申请一个堆空间使用方式和数组还是一致。 #include stdio.h #include stdlib.h #include time.htypedef int ElemType; typedef struct {// 整型指针ElemType *elem;// 存储动态数组里面元素的个数int table_len; } SSTable;/** 顺序表初始化*/ void st_init(SSTable ST, int len) {// 多申请一个位置用来存哨兵ST.table_len len 1;ST.elem (ElemType *) malloc(sizeof(ElemType) * ST.table_len);// 筛子srand(time(NULL));// 随机数生成数据for (int i 1; i ST.table_len; i) {// 生产的数字都在0-99中间ST.elem[i] rand() % 100;} }/** 打印顺序表*/ void st_print(SSTable ST) {for (int i 1; i ST.table_len; i) {printf(%3d, ST.elem[i]);}printf(\n); }/** 查找元素位置*/ int search_seq(SSTable ST, ElemType key) {// 零号元素作为哨兵// 遍历数组时 可以少写一个 i 0 的判断ST.elem[0] key;int i;// 从后往前找// 如果找到 i刚好是对应的位置for (i ST.table_len - 1; ST.elem[i] ! key; i--);return i; }int main() {SSTable ST;// 一、顺序表初始化st_init(ST, 10);// 二、打印顺序表st_print(ST);// 存储元素ElemType key;printf(please input search key:\n);scanf(%d, key);// 元素存储位置int pos;pos search_seq(ST, key);if (pos) {printf(search elem success, location: %d\n, pos);} else {printf(search elem failed\n);}return 0; }折半查找 ​ 折半查找又称为二分查找它仅适用于有序的顺序表。 折半查找的基本思想首先将给定值key与表中间位置的元素比较。若相等则查找成功返回该元素的存储位置。若不等则所需要查找的元素只能在中间元素以外的前半部分或后半部分例如在查找表升序排列时若给定值key大于中间元素则查找的元素只可能在后半部分然后再缩小的范围内继续进行同样的查找如此重复直到找到为止。或确定表中没有所需要查找的元素则查找不成功返回查找失败的信息。 ​ 针对顺序表有序使用 qsort 来排序 qsort 的使用方法如下 #include stdlib.hvoid qsort(void *buf, size_t num, size_t size, int (*compare)(const void*, const void*)); buf要排序数组的起始地址也可以是指针申请了一块连续的堆空间。num数组中元素的个数。size数组中每个元素所占用的空间大小。compare比较规则需要我们传递一个函数名这个函数由我们自己编写返回值必须是 int 类型形参是两个 void 类型指针这个函数我们编写但是由qsort内部调用相当于我们传递一种行为给qsort。 折半查找不需要用到哨兵因此不要受上一节顺序查找的影响代码实战流程是 我们初始化顺序表随机10个元素。使用 qsort 进行排序排序完毕后打印。输入要查找的元素值存入变量 key 中。通过二分查找查找对应 key 值找到则输入在顺序表中的位置没找到输出未找到。 #include stdio.h #include stdlib.h #include time.htypedef int ElemType; typedef struct {// 整型指针ElemType *elem;// 存储动态数组里面元素的个数int table_len; } SSTable;/** 顺序表初始化*/ void st_init(SSTable ST, int len) {// 折半查找不使用0号位置作为哨兵ST.table_len len;ST.elem (ElemType *) malloc(sizeof(ElemType) * ST.table_len);// 筛子srand(time(NULL));// 随机数生成数据for (int i 0; i ST.table_len; i) {// 生产的数字都在0-99中间ST.elem[i] rand() % 100;} }/** 打印顺序表*/ void st_print(SSTable ST) {for (int i 0; i ST.table_len; i) {printf(%3d, ST.elem[i]);}printf(\n); }/** 比较两个值的大小*/ int compare(const void *left, const void *right) {// 从大到小排序// return *(ElemType *)right - *(ElemType *)left;// 从小到大排序return *(ElemType *)left - *(ElemType *)right; }/** 二分查找*/ int binary_search(SSTable L, ElemType key) {int low 0, high L.table_len, mid;while (low high) {mid (low high) / 2;if (L.elem[mid] key) {// 找到了return mid;} else if (L.elem[mid] key) {high mid - 1;} else if (L.elem[mid] key) {low mid 1;}}// 没有找到 不返回0是因为元素可能会在0号位置return -1; }int main() {SSTable ST;// 一、顺序表初始化st_init(ST, 10);// 二、打印顺序表st_print(ST);// 三、排序qsort(ST.elem, ST.table_len, sizeof(ElemType), compare);st_print(ST);// 存储元素ElemType key;printf(please input search key:\n);scanf(%d, key);// 元素存储位置int pos;pos binary_search(ST, key);if (-1 ! pos) {printf(find success, pos %d\n, pos);} else {printf(find failed\n);}return 0; }
http://www.tj-hxxt.cn/news/232105.html

相关文章:

  • 苏州免费网站制作企业网站开发公司有哪些
  • 网站推广文章 优帮云深圳建网站培训机构
  • 网页设计网站期末作业做网站模板哪里买
  • 上海网站seoseodian建设银行企业理念
  • 保定专门做网站的公司临沂网站模板
  • 成品网站 售卖爱设计网
  • 搭建个人视频网站个人网站要有什么
  • 新乡手机网站建设服务海南注册公司多少钱
  • woocommerce做零售网站化妆品网站建设目标与期望
  • 微信导购网站怎么做视频教学建网站软件有哪些
  • 数码庄园的网站建设公司苏州做网站企业
  • 山西阳泉王平 做网站河南网站建站系统平台
  • 培训中心网站建设论文网络营销十大成功案例
  • 网站核验单 没有网站 怎么办980网站
  • 网站关键词是什么网站建设扌首选金手指
  • wordpress怎么上传网站wordpress 短信
  • 自适应网站建设公司网站建设与运营合同
  • 专题网站建设策划百度外推发帖软件
  • 欧美电影免费网站广告平台
  • 网站被k后换域名 做301之外_之前发的外链怎么办关于网页设计的书籍
  • 南昌营销网站开发网易企业邮箱exchange
  • 怎样wordpress优化方案电子版
  • 网站服务器分流怎么做wamp搭建多个网站
  • 厦门专业网站建设建站渠道推广策略
  • 搜不到wordpress 网站东莞互联网
  • 网站建设的功能定位企业信息公示平台
  • 华为公司网站建设分析评价营销战略
  • 计算机基础网页制作题怎么做seo
  • 甘肃省兰州市建设厅网站那些网站可以找得到做货代的
  • 怎么快速建网站教程wordpress主题添加logo图片