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

2024.10.27 直接插入排序 非递归后序遍历(复杂版)

直接插入排序 

思路:用temp变量存放需要插入前面有序序列的变量,然后用里面的那个for循环寻找到需要插入的位置。

额外注意的点:arr[j+1]=temp;这个是因为内置循环每次出来之后所指向的位置是我们要插入的位置的前一个(-1或者插入的位置-1)

#include <stdio.h>
int main(){int arr[10] = {9,8,7,6,5,4,3,2,1,0};int i,j,temp;for(i=0;i+1<10;i++){if(arr[i]>arr[i+1]){temp = arr[i+1];for(j=i;j>=0&&arr[j]>temp;j--){arr[j+1] = arr[j];   } arr[j+1]=temp; //这里需要额外注意}	} for(int i=0;i<10;i++)printf("%d",arr[i]);return 0;
}

非递归后序遍历

算法思想:和先序遍历和中序遍历的区别是:需要额外设置一个遍历指针的r(指向遍历节点指针p之前指向的节点)

需要注意的点:

我们需要注意的点就是访问右边节点的时候,需要区分是从根节点到右节点还是从右节点到根节点,如果是从根节点到右节点那么我们需要进行的操作是入栈右节点,如果是从右节点到根节点的话,那么我们需要进行的操作是对根节点进行出栈,打印并更新指针r指向指针p,并将p置空。

http://www.lryc.cn/news/469900.html

相关文章:

  • Ubuntu 22.04系统启动时自动运行ROS2节点
  • 张三进阶之路 | 基于Spring AOP的Log收集
  • ubuntu新装ubuntu,重启黑屏
  • 太极安全监控系统0.8
  • E-清楚姐姐的布告规划【01背包】
  • 哪款宠物空气净化器噪音低?希喂、美的、安德迈测评分享
  • 2024年10月23日第一部分
  • 医院信息化与智能化系统(9)
  • 逻辑回归与神经网络
  • 隨筆 20241024 Kafka 数据格式解析:批次头与数据体
  • 【WiFi7】 支持wifi7的手机
  • LabVIEW偏振调制激光高精度测距系统
  • Python Pandas 数据分析的得力工具:简介
  • Llama 3.2-Vision 多模态大模型本地运行教程
  • iOS 18.2 可让欧盟用户删除App Store、Safari、信息、相机和照片应用
  • 照片怎么转换成pdf?盘点6种图片转pdf格式有效方法,直击要点!
  • 【Qt】Windows下Qt连接DM数据库
  • 2024 你还不会微前端吗 (上) — 从巨石应用到微应用
  • WPF+MVVM案例实战(三)- 动态数字卡片效果实现
  • #网络安全#渗透测试# 渗透测试应用
  • MicroServer Gen8再玩 OCP万兆光口+IT直通之二
  • 【JAVA面试题】Java和C++主要区别有哪些?各有哪些优缺点?
  • 保姆级教程!!教你通过【Pycharm远程】连接服务器运行项目代码
  • JMeter详细介绍和相关概念
  • 如何使用Git
  • Redis 哨兵 问题
  • 安卓基础001
  • shodan2:绕过shodan高级会员限制+metasploit批量验证漏洞
  • 【JAVA毕业设计】基于Vue和SpringBoot的母婴商城系统
  • 探索Python安全字符串处理的奥秘:MarkupSafe库揭秘