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

408数据结构强化(自用)

常用代码片段(持续更新)

折半查找

void SearchBinary(int A[];int x){int low = 0, high = n-1, mid;while(low<=high){mid = (low+high)/2;if(A[mid]==x) break;else if(A[mid] < x) low = mid + 1;else high = mid - 1;}

顺序表逆置

void Reverse(SqList &L){for(int i=0;i<L.length/2;i++){temp = L.data[i];L.data[i] = L.data[length-i-1];L.data[length-i-1] = temp;}
}

快速排序

int huafen(int A[]; int L; int R)int mid = A[L];while(L<R){while(L<=R&&A[R]>=mid) R--;A[L] = A[R];while(L<=R&&A[L]<=mid) L++:A[R] = A[L];}A[L] = mid;retutn L;}
void Qsort(int A[], int L, int R){if(L>=R) return;int M = huafen(A, L, R);Qsort(A, M+1, R); //右半部分快排Qsort(A, L, M-1); //左半部分快排
}

快速排序的划分思想

//使用划分函数找到数组中第k小的元素
int huafen(int A[]; int L; int R)int mid = A[L];while(L<R){while(L<=R&&A[R]>=mid) R--;A[L] = A[R];while(L<=R&&A[L]<=mid) L++:A[R] = A[L];}A[L] = mid;retutn L;}
int func(int A[], int n, int k){int L = 0, R = n-1, M = 0;while(1){M = huafen(A ,R ,L);if(M == k-1) break;else if(M > k-1) R = M-1;else if(M < k-1) L = m+1;}return A[k-1];
}

http://www.xdnf.cn/news/1148509.html

相关文章:

  • Java中缓存的使用浅讲
  • 【Linux驱动-快速回顾】简单了解一下PinCtrl子系统:设备树如何被接解析与匹配
  • 标准文件和系统文件I/O
  • CSS篇——第一章 六十五项关键技能(上篇)
  • 配置华为交换机接口链路聚合-支持服务器多网卡Bind
  • 解决Maven版本不兼容问题的终极方案
  • 定时器中BDTR死区时间和刹车功能配置
  • 低代码平台ToolJet实战总结
  • Flutter基础(前端教程①③-单例)
  • java内存图
  • 【Linux服务器】-MySQL数据库参数调优
  • Ubuntu 22.04.3 LTS 安装 MySQL
  • Kubernetes常用命令总结
  • 【逻辑回归】MAP - Charting Student Math Misunderstandings
  • 自由学习记录(70)
  • 《汇编语言:基于X86处理器》第8章 高级过程(3)
  • Python 代码生成 LaTeX 数学公式:latexify 参数 parameters
  • 【C语言进阶】结构体
  • Linux常用指令大全
  • 力扣经典算法篇-26-长度最小的子数组(暴力求解法,左右指针法)
  • Java 大视界 -- Java 大数据机器学习模型在自然语言处理中的对话系统多轮交互优化与用户体验提升(351)
  • ROS2 通过相机确定物品坐标位置
  • 在非Spring Boot的Spring项目中使用Lock4j
  • 开疆智能Profinet转ModbusTCP网关连接康耐视InSight相机案例
  • SPARKLE:深度剖析强化学习如何提升语言模型推理能力
  • 智慧资产管理系统需求文档
  • uniapp中腾讯地图SDK-安装及配置(自动定位回显城市)
  • Validation - Spring Boot项目中参数检验的利器
  • 打造高效订单处理!ZKmall开源商城的统一履约中心架构解析
  • UGUI 性能优化系列:第三篇——渲染与像素填充率优化