【数据结构】直接插入排序_哨兵位
2015-06-23 18:25
471 查看
头文件:
主函数:
#include <iostream> using namespace std; #define MAX 10 typedef struct { int r[MAX+1]; }Sqlist; // 比较大小并插入 void InsertSort(Sqlist &sl, int n) { int j; for (int i = 2; i < 7; ++i) { if (sl.r[i] < sl.r[i - 1]) { sl.r[0] = sl.r[i]; for (j = i; sl.r[0] < sl.r[j-1]; --j) { sl.r[j] = sl.r[j - 1]; } sl.r[j] = sl.r[0]; } } }
主函数:
#include "InsertSort_0.h" int main() { // 0为哨兵位,起到两个作用:1、临时空间 2、保证不越界 Sqlist sq = { 0, 21, 25, 49, 25, 16, 8 }; InsertSort(sq, 7); for (int i = 1; i < 7; ++i) { cout << sq.r[i] << " "; } cout << endl; return 0; }
相关文章推荐
- 数据结构基础(5)--C语言实现循环队列--静态
- Two Sum III - Data structure design数据结构设计
- 【数据结构】直接插入排序
- [数据结构]队列之链式队列的类模板实现
- 《数据结构》学习笔记--第一章绪论
- [数据结构]纸牌游戏——小猫钓鱼
- [数据结构]队列之顺序队列的类模板实现
- 递归与回溯:八皇后问题
- 数据结构学习之二叉树(面试易考题整理)
- 数据结构基础温故-1.线性表(上)
- 线性表-链表-数据结构java版
- 线性表-顺序表-数据结构java版
- 数据结构
- (数据结构)顺序表的建立,增删查改
- 数据结构基础(5)--队列和循环队列详解--静态方式
- 数据结构-图的遍历
- 数组实现栈的数据结构
- 函数类型的数据结构
- 二叉查找树(二叉排序树)的详细实现
- Android 打造任意层级树形控件 考验你的数据结构和设计