顺序表

点击查看代码
#include<iostream>
#include<string>
#include<stdlib.h> 
using namespace std;
#define MaxSize 50
struct Student
{
	int num;
	string name;
	int score;
};

typedef int ElemType;

typedef struct
{
	ElemType data[MaxSize];
	int length;
}SqList;

void CreateList(SqList *&L,ElemType a[], int n)
{
	int i=0,k=0;
	L=(SqList *)malloc(sizeof(SqList));
	while (i<n)
	{
		L->data[k]=a[i];
		k++;i++;
	}
	L->length=k;
}

void InitList(SqList *&L)
{
	L=(SqList *)malloc(sizeof(SqList));
	L->length=0;
}

void DestoryList(SqList *&L)
{
	free(L);
}

bool ListEmpty(SqList *L)
{
	return(L->length==0);
}

int ListLength(SqList *L)
{
	return(L->length);
}

void DispList(SqList *L)
{
	for(int i=0;i<L->length;i++)
		printf("%d",L->data[i]);
	printf("/n");
	
}

bool GetElem(SqList *L, int i, ElemType &e)
{
	if(i<i || i>L->length)
		return false;
	e=L->data[i-1];
	return true;
}

int LocateElem(SqList *L, ElemType e)
{
	int i=0;
	while (i<L->length && L->data[i]!=e)
		i++;
	if(i>=L->length)
		return 0;
	else
		return i+1;
}

bool ListInsert(SqList *&L,int i,ElemType e)
{
	int j;
	if(i<1|| i>L->length+1||L->length==MaxSize)
		return false;
	i--;
	for(j=L->length;j>i;j--)
		L->data[j]=L->data[j-1];
	L->data[i]=e;
	L->length++;
	return true;
}

bool ListDelete(SqList *&L,int i,ElemType &e)
{
	int j;
	if(i<1 || i>L->length)
		return false;
	i--;
	e=L->data[i];
	for(j+i;j<L->length-1;j++)
		L->data[j]=L->data[j+1];
	L->length--;
	return true;
}

int main(){
	struct Student S[4];
	for(int i=0;i<4;i++)
	{
		cin>>S[i].num;
		cin>>S[i].name;
		cin>>S[i].score;
		
	}
	
	
	return 0;
}
#include
posted @ 2025-09-17 14:05  bolun123  阅读(6)  评论(0)    收藏  举报