数据结构_静态链表直接插入排序
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;
}
是静态链表和直接插入排序的结合
链表的数据结构,直接插入排序算法的思想
// 静态链表插入排序.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;
}
相关文章推荐
- 2015年大二上-数据结构-内部排序-(1)-直接插入排序
- 数据结构之直接插入排序
- 数据结构-直接插入排序
- C++数据结构--直接插入排序
- java数据结构之插入排序(直接插入排序、折半插入排序、希尔排序)
- (数据结构排序的实验四)快速,冒泡,简单选择,直接插入排序的c语言实现!!
- PHP数据结构(4) 直接插入排序
- 第16周SHH数据结构-【项目1-验证算法(1)直接插入排序】
- 数据结构----直接插入排序
- (数据结构)排序--直接插入排序
- 数据结构——排序——直接插入排序和折半插入排序算法
- 数据结构---直接插入排序
- 【数据结构】直接插入排序
- 浅谈数据结构之直接插入排序的理解
- 【数据结构----笔记3】插入排序算法之【直接插入排序】
- 数据结构之直接插入排序
- 直接插入排序(修改自严蔚敏的数据结构)
- 数据结构的排序用直接插入、折半插入、希尔排序、快速排序
- 数据结构复习:直接插入排序与二分插入排序的C++实现
- 数据结构之直接插入排序