64,637
社区成员
发帖
与我相关
我的任务
分享
/*#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;
}
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);