加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 服务器 > 安全 > 正文

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

发布时间:2020-12-15 06:00:47 所属栏目:安全 来源:网络整理
导读:头文件: #include iostreamusing namespace std;#define MAX 10typedef 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

头文件:


#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;
}


(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读