功能我已经写在头文件里面了
#include "malloc.h"
#include "stdio.h"
# define maxsize 100
typedef struct
{
char date[maxsize];
int length;
}sqlist;
void createlist(sqlist *&l,char a[],int n) //建立顺序表
{int i;
l=(sqlist *)malloc(sizeof(sqlist));
for(i=0;i<n;i++)
l->date[i]=a[i];
l->length=n;
}
void initlist(sqlist *&l) //初始化顺序表
{
l=(sqlist *)malloc(sizeof(sqlist));
l->length=0;
}
bool listinsert(sqlist *&l,int i,char e) //插入数据元素
{int j;
if(i<1||i>l->length+1)
return false;
i--;
for(j=l->length;j>i;j--)
l->date[j]=l->date[j-1];
l->date[i]=e;
l->length++;
return true;
}
bool listdelete(sqlist *&l,int i,char &e) //删除数据元素
{int j;
if(i<1||i>l->length)
return false;
i--;
e=l->date[i];
for(j=1;j<l->length-1;j++)
l->date[j]=l->date[j+1];
l->length--;
return true;
}
int listlength(sqlist *l) //求线性表长度
{
return(l->length);
}
void destroylist(sqlist *&l)
{
free(l);
}
int locateelem(sqlist *l,char e) //按元素查找
{
int i=0;
while(i<l->length&&l->date[i]!=e)
i++;
if(i>=l->length)
return 0;
else
return i+1;
}
void displist(sqlist *l) //输出线性表
{
int i;
for(i=0;i<l->length;i++)
printf("%c",l->date[i]);
printf("\n");
}
应该没什么问题,可是在工作区里面就插入这个功能不知道如何实现
int i,char b,char l[50];
printf("请输入插入位置");
scanf("%d",&i);
if(listinsert(A,i,b));
printf("请输入插入元素\n");
scanf("%c",&b);
l[50]=listinsert(A,i,b);
printf("%s",l);
我额C语言学的差希望大神们能够指点一下因为财富不多了所以拜托了
/*
GY52122008
请输入插入字符 : -
请输入插入位置 : 7
GY5212-2008
Press any key to continue
*/
#include <malloc.h>貌似是要判定,只是我想知道怎么将插入后的结果输出出来
不会吧,顺序表是链表吗……
追答那就是用数组实现顺序表。不然你都没线你怎么把每个结点穿起来呢?