有关顺序表的问题 Dev-c++操作的
发布网友
发布时间:2023-05-29 02:45
我来回答
共1个回答
热心网友
时间:2024-11-03 07:27
#include<stdio.h>
#include <stdlib.h>
#include <iostream>
using namespace std;
// 要使用编程语言是C语言还是C++
#define USE_LANGUAGE_CPP
/*函数结果状态代码*/
#define OK 1
#define ERROR 0
#define MAXSIZE 100
typedef int Status;
typedef int datatype;
typedef struct{
datatype data[MAXSIZE];
int last;
}SeqList;
// 构造一个空顺序表
SeqList *init_SeqList(){
SeqList *L;
L=(SeqList*)malloc(sizeof(SeqList));
L->last=0;
return L;
}
// 向顺序表插入一个元素e
Status Insert(SeqList *L,datatype e){
if(L->last>=100&&L==NULL) return ERROR;
L->data[L->last++]=e;
return OK;
}
// 输出元素
Status Output(SeqList *L){
if(L==NULL) return ERROR;
SeqList *temp=L;
int k=0;
#ifdef USE_LANGUAGE_C
while(k<temp->last){
printf("%d ",temp->data[k++]);
}
printf("\n");
#else
while(k<temp->last){
cout<<temp->data[k++]<<" ";
}
cout<<endl;
#endif
return OK;
}
void main()
{
SeqList *L=init_SeqList(); // 创建一个空的顺序表
int query,receive;
query=receive=0;
// 录入元素
#ifdef USE_LANGUAGE_C
printf("要录入多少个元素?:");
scanf("%d",&query);
#else
cout<<"要录入多少个元素?:";
cin>>query;
#endif
for(int i=0;i<query;i++)
{
scanf("%d",&receive);
Insert(L,receive);
receive=0;
}
// 输出元素
Output(L);
system("PAUSE");
}