第十六周 项一(1).显示直接插入排序过程
来源:互联网 发布:注册公司怎么域名 编辑:程序博客网 时间:2024/05/17 20:10
/* *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,k; 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] printf("i=%d: ",i); for (k=0; k<n; k++) printf("%d ",R[k].key); printf("\n"); }}int main(){ int i,n=10; RecType R[MaxSize]; KeyType a[]= {9,8,7,6,5,4,3,2,1,0}; 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) —插入排序之直接插入排序
- 第十六周项目--显示直接插入排序的过程
- 第十六周 项目一 (1) 插入排序之直接插入排序
- 第十六周【项目一-(5)直接插入排序】
- 第十六周项目一----插入排序之直接插入排序
- 第十六周--数据结构--项目一-- 插入排序之显示显示插入过程
- 第十六周项目1 直接插入排序
- 第十六周 项目一 验证算法(1) 直接插入排序
- 第十六周项目1(1)-直接插入排序
- 第十六周项目1--插入排序之直接插入排序
- 第十六周--数据结构--项目一-- 插入排序之直接插入排序
- 第十六周 项目1 验证算法 直接插入排序
- 第十六周项目1 直接插入排序算法
- 第十六周项目1-验证算法-直接插入排序
- 第十六周 项目1.1 直接插入排序
- 第十六周项目--直接插入排序
- IP首部简介
- Android 增量更新
- 对话框实例(layout.信号与槽.)
- 第十二周项目3-图遍历算法实现(1-深度优先遍历)
- C#中的Delegate
- 第十六周 项一(1).显示直接插入排序过程
- Swift3.0中文教程:24.访问控制
- 第十六周项目2-大数据集上的排序算法性能的体验
- Windows netstat 查看端口、进程占用、杀掉进程
- 写一条sql语句的过程
- 第十五周项目一(8)基数排序
- Web前端HTML5开发入门之HTML
- 学生信息系统样例
- 2017年最受欢迎的数据库