1 伪代码

2 执行过程图

3 c语言实现完整代码

#include<stdio.h>
#include<malloc.h>typedef struct MyArray{int *pbase;int length;
}MyArray,*PMyArray;PMyArray initMyArray();
void traverse(PMyArray pMyArray);
void insertSort(PMyArray pMyArray);
int main(){//初始化排序数组PMyArray pMyArray =  initMyArray();//遍历数组printf("数组元素分别为:\n");traverse(pMyArray);//排序insertSort(pMyArray);//遍历数组printf("\n数组元素分别为:\n");traverse(pMyArray);return 1;
};//插入排序
void insertSort(PMyArray pMyArray){if(pMyArray->length <= 0){printf("数组长度为0,排序失败");}else if(pMyArray->length == 1){}else{int j = 1;for(; j < (pMyArray->length); j++){;int key = *(pMyArray->pbase +j);int i = j - 1;while( i >= 0 &&  *(pMyArray->pbase + i) > key ){* (pMyArray->pbase + i + 1)  = *(pMyArray->pbase + i );i--;}*(pMyArray->pbase + i + 1) = key;}}};//遍历数组
void traverse(PMyArray pMyArray){int i;for(i = 0 ; i < pMyArray->length;i++){printf("%d ",*(pMyArray->pbase + i));}
}
//初始化数组
PMyArray initMyArray(){//初始化参数int lengh;printf("输入需要排序的个数:");scanf("%d",&lengh);//初始化结构体PMyArray pMyArray = (MyArray *)malloc(sizeof(MyArray));if(pMyArray == NULL){printf("内存不够,初始化pMyArray失败");exit(1);}pMyArray->length = lengh;pMyArray->pbase = (int *)malloc(sizeof(int)*lengh);int i = 0;for(;i < pMyArray->length; i++){printf("请输入第%d个元素值:",i);int value;scanf("%d",&value);*(pMyArray->pbase +i) = value;}return pMyArray;}

算法导论-算法基础-2.1插入排序 (从小到大)相关推荐

  1. 算法导论 算法_算法导论

    算法导论 算法 Algorithms are an integral part of the development world. Before starting coding of any soft ...

  2. java 优先队列从小到大_算法导论——辅助数据结构:优先队列(从小到大)

    package org.loda.structure; /** * * @ClassName: MinQ * @Description: 从小到大排列的优先队列 * @author minjun * ...

  3. 我眼中的算法导论 | 第一章——算法在计算中的作用、第二章——算法基础

    一个小白的算法学习之路.读<算法导论>第一天.本文仅作为学习的心得记录. 算法(Algorithm) 对于一个程序员来说,无论资历深浅,对算法一词的含义一定会或多或少有自己的体会,在< ...

  4. 书山有路之学习算法导论(一)--基础知识

    这个寒假打算学习算法导论这本书,每学完一部分我都会尽量更新,希望在寒假结束时有一些收获! 书山有路勤为径,加油! 一.基础知识 1.算法在计算中的作用 算法其实就是任何良定义的计算过程,算法把给定的输 ...

  5. 插入排序-算法导论课堂笔记1

    插入排序--算法导论1 分析算法的一些思路 伪代码pseudocode 思路 图解 实现 tips 分析算法的一些思路 假定没有并发操作 一般不关心精度 不考虑内存层面结构 输入规模:输入的项数 运行 ...

  6. 算法导论/第一部分_基础知识

    算法导论: 基础知识 Chapter 1 算法在计算中的作用 1.1 算法 1.2 作为技术的算法 Chapter 2 算法基础 2.1 插入排序 练习: 2.2 分析算法 插入算法的分析 增长量级 ...

  7. 利用for循环调用插入方法批量插入 一条失败_算法与数据结构(1):基础部分——以插入排序为例...

    本文将会以插入排序为例,介绍算法与数据结构的基础部分. 插入排序 排序可以说是整个算法中最为基础,最为重要的一部分,而插入排序正是排序算法中最简单的一种解决办法. 什么是排序问题? 输入:n个数的一个 ...

  8. 【算法导论】笔记-第一章 算法基础

    第1章 算法基础 1.1 插入排序 关键词:我们要排序的数. 伪代码:我们使用最清晰,最简洁的表示方法来说明给定的算法. 约定: 缩进表示块结构 while,for与repeat-until等循环结构 ...

  9. 算法导论NO.1:算法基础

    目录 算法导论NO.1:算法基础 前言 一.算法是什么? 二.算法的特征 1.有穷性 2.确切性 3.输入 4.输出 5.可行性 三.算法的评价 总结 前言 新坑今天来填第一天,最近返校后培训数学建模 ...

最新文章

  1. R向量化操作(Data Transformations)
  2. 正则截取指定字符串 php,php截取指定字符串除了正则还有什么方法
  3. 区块链共识算法Proof-of-Stake (PoS/权益证明) 常见问题解答 (1)
  4. ITK:将2D图像堆叠为3D图像
  5. 试试这个Excel知识测验,得分超过80分算你赢
  6. java自定义线程_Java自定义线程池详解
  7. java程序 扑克牌概率_java – 最简单的扑克牌评估算法
  8. 【SSH网上商城】struts搭建及实例
  9. 【Beta】Phylab 测试报告
  10. 华为6p连接计算机设置在哪里设置密码,华为路由器和华为手机如何不用密码连接...
  11. eclipse后台提示computing additional info的解决办法
  12. 某车企笔试题解答(2)
  13. 创建一个Scrapy爬虫项目并运行
  14. 一步教你轻松实现--Word方括号打勾☑
  15. 高斯法计算矩阵的行列式
  16. 音视频直播流程及常见视频流协议介绍
  17. 学习Python对英语水平有要求吗?
  18. pyttsx3设置男性声音
  19. 顶刊TPAMI 2021!南开大学提出深度霍夫变换:语义线检测新方法
  20. Linux上安装编译lzo报错:Failed to execute goal org.apache.maven.plugins:maven-antrun-plugin:1.7:run 已解决

热门文章

  1. C# 约瑟夫环 用数组实现
  2. NumPy之:理解广播
  3. gradle中的增量构建
  4. java安全编码指南之:Mutability可变性
  5. 高斯 matlab程序,高斯金字塔 matlab程序实现
  6. Redis实现消息队列的4种方案
  7. 深度学习在CTR预估任务中的应用
  8. 保姆级解读!CSS属性transform变形+2D转换+3D转换实例+代码+解析——Web前端系列学习笔记
  9. 【最新合集】研究生工程伦理课程答案整理
  10. c语言 编程显示图案*,*型图案的显示与控制(学习C语言后的编程尝试)(2)(完)...