码迷,mamicode.com
首页 > 其他好文 > 详细

《数据结构》--严蔚敏 静态链表排序 p270

时间:2014-07-30 10:02:43      阅读:194      评论:0      收藏:0      [点我收藏+]

标签:静态链表排序

// exam1.cpp : 定义控制台应用程序的入口点。
//

#include "stdafx.h"
#include <iostream>
#include <stdio.h>
using namespace std;

typedef struct
{
	int data;
	int index;
}ELEM;

int main(void)
{
	ELEM s[11];
	int a[10]={1,45,21,20,10,75,9,100,-13,19};

	for(int i=1;i<11;i++)
	{
		s[i].data=a[i-1];
		s[i].index=0;
	}
	s[0].data=10000;
	s[0].index=1;
	s[1].index=0;

	for(int i=2;i<11;i++)
	{
		int temp=s[i].data;
		int p=0;
		int q;
		q=s[p].index;
		while(1)
		{
			if(s[q].data<=temp)
			{
				p=q;
				q=s[q].index;
				if(q==0)
				{
					break;
				}
			}
			else
			{
				break;
			}	
		}
		s[i].index=q;
		s[p].index=i;
	}

	int p=0;
	int q;
	q=s[p].index;
	while(q!=0)
	{
		cout<<s[q].data<<" ";
		q=s[q].index;
	}
	cout<<endl;

	p=0;
	for(int i=1;i<11;i++)
	{
		while(p<i)
		{
			p=s[p].index;
		}

		int temp;
		temp=s[i].data;
		s[i].data=s[p].data;
		s[p].data=temp;
	
		temp=s[p].index;
		s[p].index=s[i].index;
		s[i].index=p;
		p=temp;	
	}

	for(int i=1;i<11;i++)
	{
		cout<<s[i].data<<" ";
	}
	cout<<endl;

	system("pause");
	return 0;
}

bubuko.com,布布扣

《数据结构》--严蔚敏 静态链表排序 p270,布布扣,bubuko.com

《数据结构》--严蔚敏 静态链表排序 p270

标签:静态链表排序

原文地址:http://blog.csdn.net/cjc211322/article/details/38293129

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!