用户注册



邮箱:

密码:

用户登录


邮箱:

密码:
记住登录一个月忘记密码?

发表随想


还能输入:200字
云代码 - c++代码库

数据结构与算法----1.2 改变顺序表的元素顺序

2019-07-19 作者: Ryan2019举报

[c++]代码库

//***********************************
//功能:改变顺序表的元素顺序,第奇数个元素移到前面,第偶数个元素移到后面
//日期:2017年9月13日
//作者:Ryan2019
//***********************************
#include <iostream>
using namespace std;
const int ListlnitSize=0;
const int Listlnc=10;
typedef int LElemType;
struct SList
{
    LElemType *elem;
	int length,listsize;
};
bool Listlnit(SList &L);//顺序表初始化
bool ListCreate(SList &L,int n,LElemType a[]);//创建顺序表
bool MoveOrder(SList &L);//改变顺序表的元素顺序
int main()
{
	const int i=7;
	LElemType a[i]={1,2,3,4,5,6,7};
	SList L;
	ListCreate(L,i,a);
	cout<<"原顺序表为"<<endl;
	for(int j=0;j<i;j++){cout<<L.elem[j]<<"  ";}
	MoveOrder(L);
    cout<<endl<<"改变元素后的顺序表为"<<endl;
	for(j=0;j<L.length;j++){cout<<L.elem[j]<<"  ";}
	cout<<endl;
	return 0;
}
bool Listlnit(SList &L)
{
	L.elem=new LElemType[ListlnitSize];
	if(!L.elem)		return false;	
	L.length=0;
    L.listsize=ListlnitSize;
	return true;
}
bool ListCreate(SList &L,int n,LElemType a[])
{
	int i;
	L.elem=new LElemType[n+ListlnitSize];
	if(!L.elem)			return false;	
	L.length=n;
    L.listsize=n+ListlnitSize;
	for(i=0;i<n;i++)
	{
		L.elem[i]=a[i];
	}
	return true;
}
bool MoveOrder(SList &L)
{
	int i,j=0,m=0,n,p;
	SList T;
	T.elem=new LElemType[L.length+ListlnitSize];
	T.length=0;
	T.listsize=L.length+ListlnitSize;
	for(i=0;i<L.length;i++)//把表L复制给T
	{
	  T.elem[j]= L.elem[i];	
	  j++;
	  T.length++;
	 }
	for(n=0;n<T.length;n+=2)
	{
		L.elem[m]=T.elem[n];
		m++;
	}
		for(p=1;p<T.length;p+=2)
	{
		L.elem[m]=T.elem[p];
		m++;
	}
		delete []T.elem;
	return true;
}


网友评论    (发表评论)


发表评论:

评论须知:

  • 1、评论每次加2分,每天上限为30;
  • 2、请文明用语,共同创建干净的技术交流环境;
  • 3、若被发现提交非法信息,评论将会被删除,并且给予扣分处理,严重者给予封号处理;
  • 4、请勿发布广告信息或其他无关评论,否则将会删除评论并扣分,严重者给予封号处理。


扫码下载

加载中,请稍后...

输入口令后可复制整站源码

加载中,请稍后...