【数据结构】直接插入排序_哨兵位

前端之家收集整理的这篇文章主要介绍了【数据结构】直接插入排序_哨兵位前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。

文件


#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,16,8 };
	InsertSort(sq,7);
	for (int i = 1; i < 7; ++i)
	{
		cout << sq.r[i] << " ";
	}
	cout << endl;
	return 0;
}


猜你在找的数据结构相关文章