第十六周 项一(1) —插入排序之直接插入排序
来源:互联网 发布:lol断开连接请检查网络 编辑:程序博客网 时间:2024/06/05 00:43
/* *Copyright (c) 2016,烟台大学计算机学院 *All rights reserved. *文件名称:main.cpp *作者:衣龙川 *完成日期:2016年12月15日 *版本号:vc++6.0 * *问题描述: —插入排序之直接插入排序 *输入描述:无 *程序输出:*/
main.c:
#include <stdio.h>#define MaxSize 20typedef int KeyType; //定义关键字类型typedef char InfoType[10];typedef struct //记录类型{ KeyType key; //关键字项 InfoType data; //其他数据项,类型为InfoType} RecType; //排序的记录类型定义void InsertSort(RecType R[],int n) //对R[0..n-1]按递增有序进行直接插入排序{ int i,j; RecType tmp; for (i=1; i<n; i++) { tmp=R[i]; j=i-1; //从右向左在有序区R[0..i-1]中找R[i]的插入位置 while (j>=0 && tmp.key<R[j].key) { R[j+1]=R[j]; //将关键字大于R[i].key的记录后移 j--; } R[j+1]=tmp; //在j+1处插入R[i] }}int main(){ int i,n=10; RecType R[MaxSize]; KeyType a[]= {57, 40, 38, 11, 13, 34, 48, 75, 6, 19, 9, 7}; for (i=0; i<n; i++) R[i].key=a[i]; printf("排序前:"); for (i=0; i<n; i++) printf("%d ",R[i].key); printf("\n"); InsertSort(R,n); printf("排序后:"); for (i=0; i<n; i++) printf("%d ",R[i].key); printf("\n"); return 0;}
运行截图:
0 0
- 第十六周 项一(1) —插入排序之直接插入排序
- 第十六周项目一----插入排序之直接插入排序
- 第十六周 项目一 (1) 插入排序之直接插入排序
- 第十六周项目1--插入排序之直接插入排序
- 第十六周 插入排序之直接插入排序
- 第十六周--数据结构--项目一-- 插入排序之直接插入排序
- 第十六周【项目一-(5)直接插入排序】
- 第十六周项目1 直接插入排序
- 第十六周 项一(1).显示直接插入排序过程
- 第十六周 项目一 (1) 插入排序之折半插入排序
- 第十六周项目1(1)-直接插入排序
- 第十六周项目1—直接插入排序 折半插入排序
- 第十六周 项目一 验证算法(1) 直接插入排序
- 第十六周 项目一 (1) 显示直接插入排序过程
- 插入排序一(直接插入排序)
- 第十六周上机实践—项目1(1)—验证算法 直接插入排序 折半插入排序
- Java排序算法总结之(一)——插入排序(直接插入排序、折半插入排序、希尔排序)
- 第十六周 项目 1 - 验证算法之(1)直接插入排序
- 期末数据结构总结
- 深度学习之SPP
- 69个经典Spring的概述
- 第十一周项目1-验证二叉树算法(2)
- 第十五周 项目2:用哈希法组织关键字
- 第十六周 项一(1) —插入排序之直接插入排序
- 更新到cocoapods1.1.1版本
- 第16周项目1-快速排序
- redis专题-9.Spring使用jedis调试单机redis以及集群redis
- 第13周项目3-Dijkstra算法的验证
- 《HTTP权威指南》学习笔记(七)—安全HTTP与HTTPS
- Spring AOP面向切面
- Android知识结构
- pip安装