求数据结构以及C++ 方面的高手指教。

主要是不理解Status中的用法。我的程序:
#include <time.h>
#include <iostream>
#include <iomanip>

using namespace std;
//要排序的数组的长度,以及取值的范围
#define SIZE 10
#define MAX 10000

//-------线性表的动态分配顺序存储结构-------
#define LIST_INIT_SIZE 100 //线性表存储空间的初始分配量 
#define LISTINCREMENT 10 //线性表存储空间的分配增量 
#define OK 1 
#define ERROR 0
typedef struct{
typedef int Status 
ElemType *elem;
int length;
int listsize;
}SqList;

Status InitList_Sq(SqList &L){
//构造一个空的线性表L
L.elem=(ElemType *)malloc(LIST_INIT_SIZE*sizeof(ElemType));
if(!L.elem)exit(OVERFLOW);
L.length=0;
L.listsize=LIST_INIT_SIZE;
return OK;
}
//打印数组
int printarr(int arr[],int len){

for(int i=0;i<len;i++){
if(i%10==0)
cout<<endl;
cout<<setw(4)<<arr[i]<<" ";
}
cout<<endl;
return 0;
}

int main()
{
int arr[SIZE];
int len = sizeof(arr)/sizeof(arr[0]);//SIZE
srand( (unsigned)time( NULL ) );
for(int i=0;i<len;i++){
arr[i] =rand()%MAX;
}
cout<<"生成数组:"<<endl;
printarr(arr,len);

ListDelete_Sq(arr,arr[0]); 
cout<<"删除元素值等于arr[0]的元素后的线性表"<<endl;
printarr(arr,len); 

//QuickSort(arr,len);
//BigHeapSort(arr,len);
ShellSort(arr,len);
cout<<endl<<"排序后得到的数组:"<<endl;
printarr(arr,len);

system("pause");
return 0;
}
用 DevC++4.9.9.2编译显示主要错误是
19 D:\数据结构\课程设计\第二章第一题.cpp `Status' does not name a type 以及24行还有下面那个 status 行也是一样策错误。
202D:\数据结构\课程设计\第二章第一题.cpp `ListDelete_Sq' undeclared (first use this function) 
该怎么改呢?

收到一只叮咚
浏览 440回答 3
3回答

小怪兽爱吃肉

typedef int Status ; 应该定义在SqList;定义的前边吧,ElemType *elem; 这个ElemType 你也没有定义啊,如定义成 typedef int ElemType;exit(OVERFLOW); 中的OVERFLOW也没有定义啊,你的程序都不是完整的,书上给的例子大多是算法,具有通用性,很多用的类型都是要自己设定的,那样才能运行,如ElemType

拉丁的传说

typedef struct{typedef int StatusElemType *elem;int length;int listsize;}SqList;

狐的传说

typedef int Status;要写在Sqlist定义的外面吧。ElemType也没定义。好几个函数都还没定义。程序还差很多东西。
打开App,查看更多内容
随时随地看视频慕课网APP