⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 sx.h

📁 大三计算机的数据结构的 c++ 所用的 头文件
💻 H
字号:
#include<malloc.h> 
#include<math.h> 
#include<process.h> 
#include<iostream.h> 
#define TRUE 1
#define FALSE 0
#define OK 1
#define ERROR 0
#define INFEASIBLE -1
typedef int Status; 
typedef int Boolean;
#define LIST_INIT_SIZE 100
#define LISTINCREMENT 10
typedef int ElemType; 
typedef struct{
	ElemType *elem;
	int length;
	int listsize;
}SqList;

Status InitList(SqList &L,int n) 
{
   
   L.elem = new ElemType[LIST_INIT_SIZE];
   if (!L.elem) return OVERFLOW; 
   L.length = n;							 
   L.listsize = LIST_INIT_SIZE; 
   for(int i=0;i<n;++i)
   {
	   cout<<"请输入第"<<i+1<<"个数:";
	   cin>>L.elem[i];
	   cout<<endl;
   }
   return OK;
} 
void Print(SqList &L)
{
	for(int i=0;i<L.length;++i)
		cout<<L.elem[i]<<" ";
	cout<<endl;
}

void MergeList(SqList La,SqList Lb,SqList &Lc)
 { // 另一种合并线性表的方法(根据算法2.7下的要求修改算法2.7)
   if(!Lc.elem)
     exit(OVERFLOW);
   int k=0,i,j;
	for(  i=0;i<La.length;++i)
		for( j=0;j<Lb.length;++j)
			if(La.elem[i]==Lb.elem[j])
			{	
				Lc.elem[k]=Lb.elem[j];
				++k;
				break;
			}
	Lc.length=k+1;

 }
Status ListDelete(SqList &L,int i,ElemType &e) // 算法2.5
 { // 初始条件:顺序线性表L已存在,1≤i≤ListLength(L)
   // 操作结果:删除L的第i个数据元素,并用e返回其值,L的长度减1
   ElemType *p,*q;
   if(i<1||i>L.length) // i值不合法
     return ERROR;
   p=L.elem+i-1; // p为被删除元素的位置
   e=*p; // 被删除元素的值赋给e
   q=L.elem+L.length-1; // 表尾元素的位置
   for(++p;p<=q;++p) // 被删除元素之后的元素左移
     *(p-1)=*p;
   L.length--; // 表长减1
   return OK;
 }
void Deverse(SqList &L)
{
	int max,min;
	for(int i=0;i<L.length;++i)
	{
		min=L.elem[i];
		for(int j=i+1;j<L.length;++j)
			if(min>L.elem[j])
			{
				max=min;
				min=L.elem[j];
				L.elem[j]=max;
			}
		L.elem[i]=min;
	}
}
void DelSame(SqList &L)
{
	int y;
	for(int i=L.length;i>=0;--i)
		if(L.elem[i]==L.elem[i-1])
	ListDelete(L,i,y);
}


⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -