顺序表初始化编译时发生不知名错误求解释

欠债的脱水橘猫 2020-09-15 02:02:35
救命啊,大佬,救救我



/*#include <iostream.h>
#include <iomanip.h>*/
#include <conio.h>
#include <stdio.h>
#include <process.h>
#include <string.h>
#include <math.h>
#include <stdlib.h>
int max=10000;

struct SqList
{
int elem[10000]; //存放元素的数组
int length; //当前长度
};

void init(SqList &list);
void display(SqList &list);
void insert(SqList &list);
void search(SqList &list);
void del(SqList &list);
void simpleSort(SqList &list);
void quickSort(SqList &list);
void binarySearch(SqList &list);

SqList list;//本人百度得出,线性表的顺序实现结构体

int main()
{
char choice;

while (1)
{
//stem("cls");//本人百度出来的,“system("cls");的意思就是调用DOS下的清屏命令“cls”
printf("\n\n\n\n");
printf ("\t\t 静态线性表操作 \n");
printf ("\t\t======================================");
printf ("\n\n");
printf ("\t\t 1:初始化 \n");
printf ("\t\t 2:显示 \n");
printf ("\t\t 3:单个插入 \n");
printf ("\t\t 4:查找 \n");
printf ("\t\t 5:删除 \n");
printf ("\t\t 6:简单排序 \n");
printf ("\t\t 7:快速排序 \n");
printf ("\t\t 8折半查找 \n");
printf ("\t\t 9:就地逆置 \n");
printf ("\t\t 10:有序插入 \n");
printf ("\t\t 11:删除顺序表中元素值在 x到y(x和y自定)之间的所有元素 \n");
printf ("\t\t 12:实现将两个非递减的顺序表进行合并 \n");
printf ("\n");
printf ("\t\t 0:退出 \n");
printf ("\n");
printf ("\t\t请选择:" );

choice = getch();

switch(choice)//里面的这个选择是前面定义的变量,也就是表达式。
{
case '1':
init(list);
break;
case '2':
display(list);
break;
case '3':
insert(list);
break;
case '4':
search(list);
break;
case '5':
del(list);
break;
case '6':
simpleSort(list);
break;
case '7':
quickSort(list);
break;
case '8':
binarySearch(list);
break;
case '0':
exit(0);
}
}
return 0;
}



//对以下代码提示,屏幕提示后,从键盘输入线性表长度和(随机数种子)!!!,生成(指定长度)!!!的线性表list
void init(SqList &list)//顺序表的初始化
{
int i;
while (1)
{
printf( "输入元素个数(0-10000 ):" );
scanf("%d", list.length);
if (list.length >= 0 && list.length <= max) /*本人百度搜索得到的线性表初始化格式如下 ,因为此题有特殊要求所以看以来不大一样
//初始化顺序表
void InitList(PSeqList L)
{
if (L == NULL)话说这一步是什么意思,是等于空就没有意义了是吗?
{
return;
}
L->length = 0;
} */
break;
printf("\n");
}
while (1)
{
printf ("输入随机数种子(0-32767):" );
scanf("%d",&i);
if (i >= 0 && i <= 32767)
break;
printf("\n");
}
srand(i); //指定随机数种子,相同的种子将产生相同的数据序列
rand();

for (i = 0; i < list.length; i++)
{
list.elem[i] = rand() % 10000;
}
for (i = list.length; i < max; i++)
list.elem[i] = 0;
}



编译器提示如下:
C:\Users\dmt\AppData\Local\Temp\cc65sBTu.o 原地爆炸.cpp:(.text+0x14a): undefined reference to `display(SqList&)'
C:\Users\dmt\AppData\Local\Temp\cc65sBTu.o 原地爆炸.cpp:(.text+0x158): undefined reference to `insert(SqList&)'
C:\Users\dmt\AppData\Local\Temp\cc65sBTu.o 原地爆炸.cpp:(.text+0x166): undefined reference to `search(SqList&)'
C:\Users\dmt\AppData\Local\Temp\cc65sBTu.o 原地爆炸.cpp:(.text+0x174): undefined reference to `del(SqList&)'
C:\Users\dmt\AppData\Local\Temp\cc65sBTu.o 原地爆炸.cpp:(.text+0x182): undefined reference to `simpleSort(SqList&)'
C:\Users\dmt\AppData\Local\Temp\cc65sBTu.o 原地爆炸.cpp:(.text+0x190): undefined reference to `quickSort(SqList&)'
C:\Users\dmt\AppData\Local\Temp\cc65sBTu.o 原地爆炸.cpp:(.text+0x19e): undefined reference to `binarySearch(SqList&)'
C:\Users\dmt\Desktop\collect2.exe [Error] ld returned 1 exit status

...全文
152 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
  • 打赏
  • 举报
回复
引用 4 楼 5250的回复:
你把多余的函数删了 只有init函数 这个函数中产生的随机数应该是在其他函数中使用的 init函数本身没有使用 你删除了其他函数 当然程序就结束了啊
大佬我发布了一个完整的,在我主页里。讲的比较清楚。大佬救命
5250 2020-09-15
  • 打赏
  • 举报
回复
你把多余的函数删了 只有init函数 这个函数中产生的随机数应该是在其他函数中使用的 init函数本身没有使用 你删除了其他函数 当然程序就结束了啊
  • 打赏
  • 举报
回复
引用 1 楼 5250 的回复:
报错很明显了啊 这些函数没有找到定义 你的函数定义在哪儿
            case '2':
                display(list);
                break;
            case '3':
                insert(list);
                break;
            case '4':
                search(list);
                break;
            case '5':
                del(list);
                break;
            case '6':
                simpleSort(list);
                break;
            case '7':
                quickSort(list);
                break;
            case '8':
                binarySearch(list);
大佬,我把那些多余的函数给删了,可是后面运行发现我输入元素个数之后就程序终止了这是为什么呢。我的随机数种子都无法输入
  • 打赏
  • 举报
回复
大佬,我把那些多余的函数给删了,可是后面运行发现我输入元素个数之后就程序终止了这是为什么呢。我的随机数种子都无法输入
5250 2020-09-15
  • 打赏
  • 举报
回复
报错很明显了啊 这些函数没有找到定义 你的函数定义在哪儿
            case '2':
display(list);
break;
case '3':
insert(list);
break;
case '4':
search(list);
break;
case '5':
del(list);
break;
case '6':
simpleSort(list);
break;
case '7':
quickSort(list);
break;
case '8':
binarySearch(list);

64,637

社区成员

发帖
与我相关
我的任务
社区描述
C++ 语言相关问题讨论,技术干货分享,前沿动态等
c++ 技术论坛(原bbs)
社区管理员
  • C++ 语言社区
  • encoderlee
  • paschen
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
  1. 请不要发布与C++技术无关的贴子
  2. 请不要发布与技术无关的招聘、广告的帖子
  3. 请尽可能的描述清楚你的问题,如果涉及到代码请尽可能的格式化一下

试试用AI创作助手写篇文章吧