首页
学习
活动
专区
圈层
工具
发布
    • 综合排序
    • 最热优先
    • 最新优先
    时间不限
  • 来自专栏南桥谈编程

    超详细的顺序表(附源码)

    int i = 0; for (i = pos; i < ps->size - 1; i++) { ps->arr[i] = ps->arr[i + 1]; //最后一次进来的是size -2,arr[size-2]=arr[size-2] } ps->size--; } 查找 //查找元素 int SLFind(SL* ps, SLDataType x) { assert(ps int i = 0; for (i = pos; i < ps->size - 1; i++) { ps->arr[i] = ps->arr[i + 1]; //最后一次进来的是size -2,arr[size-2]=arr[size-2] } ps->size--; } //查找元素 int SLFind(SL* ps, SLDataType x) { assert(ps);

    30210编辑于 2024-01-26
  • 来自专栏福大大架构师每日一题

    2021-12-31:给定一个arr,里面的数字都是0~9, 你

    arr)[0 : size-1] return true } else if size > 1 && (*arr)[size-1]%3 == second && (*arr)[size == second { //arr.remove(size - 1) //arr.remove(size - 2) *arr = (*arr)[0 : size

    30210编辑于 2021-12-31
  • 来自专栏好事连连

    【探索数据结构】线性表之顺序表

    顺序表存放数据整体往前挪一位 for (int i = 0;i < (ps->size) - 1;i++) { //arr[0]的位置放原本arr[1]的数据,最后是ps->arr[size -2]=ps->arr[size-1] ps->arr[i] = ps->arr[i + 1];//arr[0]的位置放原本arr[1]的数据,最后是ps->arr[size-2]=ps- pos <= ps->size);//整体往前挪一位for (int i = pos;i < ps->size - 1;i++){ps->arr[i] = ps->arr[i + 1];//arr[size

    25610编辑于 2024-11-18
  • 来自专栏学习

    拿捏 顺序表(1)

    因为最后那个位置直接可以被其它值覆盖 接着头删: void SLpopFront(SL* ps) { assert(ps); assert(ps->size); for (int i = 0; i <=ps->size -2 ; i++) { ps->arr[i] = ps->arr[i + 1];//最后一次arr[size-2] = arr[size-1] }//看下图: ps->size--; } 这里我们依旧需要由左边变成右边想想看是不是 ps->size--; } void SLpopFront(SL* ps) { assert(ps); assert(ps->size); for (int i = 0; i <=ps->size -2 ; i++) { ps->arr[i] = ps->arr[i + 1];//arr[size-2] = arr[size-1] } ps->size--; } test.c #include

    21410编辑于 2024-10-16
  • 来自专栏AI那点小事

    归并排序

    //一趟归并排序 void Merge_Pass(int* data,int* tmp,int size,int length) { int i; for(i = 0 ; i <= size //一趟归并排序 void Merge_Pass(int* data,int* tmp,int size,int length) { int i; for(i = 0 ; i <= size

    69910发布于 2020-04-20
  • 数据结构-顺序表详解(看这篇就足够了,哈哈哈)

    ps->size);   for (int i = 0; i < ps->size - 1; i++) {   ps->arr[i] = ps->arr[i + 1];//arr[size ->size);   for (int i = pos; i < ps->size - 1; i++) {   ps->arr[i] = ps->arr[i + 1];//arr[size

    21210编辑于 2025-12-19
  • 来自专栏就业 C++ 综合学习

    【通讯录项目 (2 / 3)】基于顺序表的通讯录实现——顺序表功能实现

    for (int i = 0; i < ps->size - 1 ; i++) { ps->a[i] = ps->a[i + 1]; // a[size-2]=a[size-1] (模拟最后一次操作 pos < ps->size) { for (int i = pos; i < ps->size - 1; i++) { ps->a[i] = ps->a[i + 1]; //a[size

    38910编辑于 2024-01-30
  • 来自专栏QT

    基于数组的数据结构--顺序表

    ); //数据整体挪动前一位 for (int i = 0; i>ps->size - 1; i++) { ps->a[i] = ps->a[i + 1];//最后一次是ps->a[ps->size pos < ps->size); for (int i = pos; i < ps->size - 1; i++) { ps->a[i] = ps->a[i + 1];//最后一次是arr[size

    11410编辑于 2025-12-30
  • 来自专栏全栈程序员必看

    前端vue生成二维码带logo并且可以点击下载保存_vue实现扫描二维码

    logoSrc 嵌入至二维码中心的 LOGO 地址(支持png、jpg) // logoScale 用于计算 LOGO 大小的值, 过大将导致解码失败, LOGO 尺寸计算公式 logoScale*(size

    1.5K20编辑于 2022-11-09
  • 来自专栏学习

    数据结构--顺序表

    SLErase(SL* p, int pos) { assert(p); assert(pos >= 0 && pos < p->size); for (int i = pos; i <=p->size SLErase(SL* p, int pos) { assert(p); assert(pos >= 0 && pos < p->size); for (int i = pos; i <=p->size

    40010编辑于 2024-10-09
  • 顺序表插入删除

    = NULL); for (int i = 0; i < ps->size-1; i++) { ps->arr[i] = ps->arr[i + 1];//arr[size-2]=arr[size

    22110编辑于 2025-11-05
  • 来自专栏全栈程序员必看

    (LeetCode-数组-1) 买卖股票的最佳时机[通俗易懂]

    left[i]=left[i-1]; min=prices[i]; } } for(int i=size

    24220编辑于 2022-07-20
  • 来自专栏我的博文

    go例子(四) 使用 goroutinue 进行排序

    ; i < size; i++ { data = append(data,rand.Intn(100)) } fmt.Println(data) wg.Add(size

    66820编辑于 2022-04-27
  • 来自专栏学习

    拿捏 顺序表(2) ----- 实现通讯录

    & pos < sp->size); for (int i = pos; i<sp->size-1; i++) { sp->arr[i] = sp->arr[i + 1];//最后一次arr[size sp) { assert(sp); for (int i = 0; i<sp->size-1; i++) { sp->arr[i] = sp->arr[i + 1]; //最后一次arr[size & pos < sp->size); for (int i = pos; i<sp->size-1; i++) { sp->arr[i] = sp->arr[i + 1];//最后一次arr[size

    28510编辑于 2024-10-16
  • 来自专栏程序IT圈

    ​LeetCode刷题实战413:等差数列划分

    中出现过的连续的等差数列的最长长度 int size = A.size(); int pos = 0; int res = 0; while (pos < size

    42020发布于 2021-10-21
  • 来自专栏c/c++

    数据结构——堆的应用 堆排序详解

    堆向下调整算法实现 类似于向上调整算法的实现,所不同的是开始调整的位置不再从第二个数开始,而是从最后一个非叶子节点开始向下调整: 调整完了再依次往前找到前一个非叶子节点(下标是元素个数size -2再除2)重复向下调整即可; 使用向下调整的时间复杂度较向上调整小,所以我们这里选择用向下调整 代码如下: //堆向下调整算法 for (int i = (size-2 )/ 2 ; i >=

    25110编辑于 2024-03-13
  • 顺序表:数据结构中的基础线性存储结构

    for (int i = 0; i<ps->size-1; i++) { ps->arr[i] = ps->arr[i + 1]; //根据最后一个元素移动,确定判断条件 arr[ps->size ; for (int i = pos; i<ps->size-1; i++) { ps->arr[i] = ps->arr[i + 1]; //根据最后一个元素移动,确定判断条件 arr[size for (int i = 0; i<ps->size-1; i++) { ps->arr[i] = ps->arr[i + 1]; //根据最后一个元素移动,确定判断条件 arr[ps->size for (int i = pos; i < ps->size - 1; i++) { ps->arr[i] = ps->arr[i + 1]; //根据最后一个元素移动,确定判断条件 arr[size

    30010编辑于 2025-12-24
  • 来自专栏掘金安东尼

    Dialog 弹窗也有“花活”?针不戳~

    display: flex; gap: var(--size-4); } dialog { padding: var(--size-4); gap: var(--size

    80520编辑于 2023-01-10
  • 来自专栏egoist

    数据结构之顺序表(超详解)

    头删 头删的操作其实与头插的操作类似,需要注意的是ps->arr[0]=ps->arr[1],ps->arr[1]=ps->arr[2]……这样的顺序,如果是ps->arr[ps->size-2]=ps ->arr[ps->size-1],ps->arr[ps->size-3]=ps->arr[ps->size-2],则会把原来数据覆盖掉。

    33810编辑于 2025-01-23
  • 来自专栏翎野君

    Java中如何优雅地删除List中的元素

    我们使用逆向遍历的方式可以得到正确的结果 /** * 逆向循环,是正确的 * 1-->2-->3-->4 * 逆向循环时,倒数第一个元素满足条件被删除时,i--后,原数组的倒数第二个变成了新数组的倒数第一个元素 * i = size

    7.8K10编辑于 2023-05-12
领券