数据结构之线性表之顺序存储结构

//
#include<stdio.h>
#define maxsize 100
typedef struct
{
int date[maxsize];
int lenght;//表的长度
}sqlist;//建立了表

int findelem(sqlist L,int x)//寻找位置
{
int i;
for(i=0;i<(L.lenght);i++)//切记要L.lenght ok
{
if(x<L.date[i])
return i;
}
return i;
}
void insertelem(sqlist &L,int x)//插入一个值
{ int i,p;
p=findelem(L,x);

for(i=L.lenght-1;i>=p;i--)
{
L.date[i+1]=L.date[i];
L.date[p]=x;
(L.lenght)++;
}
}

main()
{
sqlist L;
int i;
for(i=0;i<10;i++)
L.date[i]=i;
L.lenght=10;

insertelem(L,5);
for(i=0;i<=10;i++){
printf("%d",(L.date[i]));
}

}
为什么输出的时候6不见了

第1个回答  2018-03-13
/*线性表功能的实现*/
#include<stdio.h>
//定义常量 存储空间的初始化分配
#define MAXSIZE 20
#define TRUE 1
#define ERROR -1
#define FALSE 0
#define OK 1
//用typedef定义类型
typedef int Status;
typedef int ElemType;
//定义一个结构体类型
typedef struct{
ElemType data[MAXSIZE];
int length;
} SqList;
//初始化函数
Status initList(SqList *L){
L->length = 0;
return OK;
}
//返回线性表的长度
Status getListLength(SqList L){
return L.length;
}
//线性表为空返回true,否则返回false
Status listEmpty(SqList L){
if(L.length == 0){
return TRUE;
}
return FALSE;
}
//线性表清空,长度为0
Status clearList(SqList *L){
L->length = 0;
return OK;
}
//获取指定的元素的值,返回下标为i - 1的元素,赋值给e
Status getElem(SqList L, int i, ElemType *e){
//判断元素位置是否合法[i]
if(i > L.length || i < 1){
printf("查找的位置不正确 \n");
return ERROR;
}本回答被提问者采纳
相似回答
大家正在搜