您的位置:首页 > 理论基础 > 数据结构算法

数据结构_静态链表直接插入排序

2017-12-28 22:23 176 查看
静态链表实现直接插入排序(C++)

是静态链表和直接插入排序的结合

链表的数据结构,直接插入排序算法的思想

// 静态链表插入排序.cpp: 定义控制台应用程序的入口点。
//

#include "stdafx.h"
#include<iostream>

using namespace std;

class node
{
public :
int data;
node *next;
};

void staticlinkinsertsorting(int *data, int size) //静态链表插入排序
{
node *headp = new node, *searchp, *followp, *newnodep;
headp->next = NULL;

newnodep = new node;
newnodep->data = data[0];
newnodep->next = NULL; //第一个元素

headp->next = newnodep; //实例化headp

for (int i = 1; i < size; i++)
{
newnodep = new node;
newnodep->data = data[i];
newnodep->next = NULL;
followp = headp;
searchp = headp->next;

while (searchp != NULL)
{
if (newnodep->data >= searchp->data)
{
followp = searchp;
searchp = searchp->next;
}
else
{
newnodep->next = searchp;
followp->next = newnodep;
break;
}
}
} //静态链表插入排序算法

searchp = headp->next;
while (searchp != NULL)
{
cout << searchp->data << " ";
searchp = searchp->next;
}
cout << endl; //打印排序后的链表
}

int main()
{
int data[] = { 14,5,10,11,6,1,10 };
int size = sizeof(data) / sizeof(data[0]);
staticlinkinsertsorting(data, size);
system("pause");
return 0;
}

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: