c语言数据结构问题

来源:百度知道 编辑:UC知道 时间:2024/05/03 04:18:30
1) 初始化线性表。
2) 在线性表中查找指定的元索;
3) 调用插人函数建立一个线性表;
4) 在线性表中删除指定位置的元素;
5) 在线性表中删除指定值的元素;
6) 遍历并输出线性表。
用一下所给怎么编主函数?

#include<stdio.h>
#include<stdlib.h>
#define MAXSIZE 100
typedef int datatype;
typedef struct selist
{
datatype data[MAXSIZE];
int last;
}LIST;

LIST *InitList()
{
LIST *L;
if((L=(LIST *)malloc(sizeof(LIST))==NULL)
{printf("内存非配失败!");
rturn NULL;
}
else
{L->last=0;
return L;
}

int Search_List(LIST *L,datatype key)
{
int i=0;
datatype x;
x=(*L).data[i];
while((i<(*L).last)&&(x!=key))
{
i++;
x=(*L),data[i];
}
if(key==x)return (i+1);
else return(NULL):
}

int InsertList(LIST *L,datatype x,int i)
(int j;
if((*L).last>=MAXSIZE)
{
printf("\n\t线性表已满或溢出!\n");
return(NULL);
}
else

首先你的程序有很多笔误,请仔细检查一下
在你程序的基础上,我加了段程序,希望能满足你的要求。

void Help()
{
printf("1 初始化线性表\n");
printf("2 在线性表中查找指定的元索\n");
printf("3 调用插人函数建立一个线性表\n");
printf("4 在线性表中删除指定位置的元素\n");
printf("5 在线性表中删除指定值的元素 \n");
printf("6 遍历并输出线性表\n");
printf("7 打印帮助列表\n");
printf("8 退出程序测试\n");

}
void main()
{
LIST mylist;
char ch = '0';
int tmp, pos;
Help();
while(ch != '@')
{
switch(ch)
{
case '1':
InitList();
break;
case '2':
printf("请输入要查找的元素:");
scanf("%d", tmp);
Search_List(&mylist, tmp);
break;
case '3':<