为了账号安全,请及时绑定邮箱和手机立即绑定

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

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

C++
收到一只叮咚 2019-04-15 08:08:21
主要是不理解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 0typedef struct{typedef int Status ElemType *elem;int length;int listsize;}SqList;Status InitList_Sq(SqList &L){//构造一个空的线性表LL.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]);//SIZEsrand( (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) 该怎么改呢?
查看完整描述

3 回答

?
小怪兽爱吃肉

TA贡献1852条经验 获得超1个赞

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

查看完整回答
反对 回复 2019-04-16
?
拉丁的传说

TA贡献1789条经验 获得超8个赞

typedef struct{
typedef int Status
ElemType *elem;
int length;
int listsize;
}SqList;

查看完整回答
反对 回复 2019-04-16
?
狐的传说

TA贡献1804条经验 获得超3个赞

typedef int Status;要写在Sqlist定义的外面吧。
ElemType也没定义。
好几个函数都还没定义。
程序还差很多东西。

查看完整回答
反对 回复 2019-04-16
  • 3 回答
  • 0 关注
  • 439 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信