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

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

发布时间:2020-12-15 06:07:31 所属栏目:安全 来源:网络整理
导读:// exam1.cpp : 定义控制台应用程序的入口点。//#include "stdafx.h"#include iostream#include stdio.husing 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;i1
// 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;
}

(编辑:李大同)

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

    推荐文章
      热点阅读