【数据结构与算法】线性表操作(C语言)

时间:2024-04-30 13:46:31
 #include <stdio.h>
#include <stdlib.h>
#define OK 1
#define NO 0
#define MAXSIZE 20
typedef int bool;
int nn = ; typedef struct
{
int data[MAXSIZE];
int len;
} Sqlist;
void initList(Sqlist *L) ///传递结点地址而已,怎么会初始链表
{
L->len = ;
}
int findElem(Sqlist L, int n)
{
int e;
if (n>L.len)
return ;
return L.data[n - ];
}
bool listInsert(Sqlist *L, int n, int data)
{
int i;
if (L->len == MAXSIZE || n>L->len + )
return ; for (i = L->len + ; i >= n; i--)
{
if (L->len == MAXSIZE - )
break;
L->data[i] = L->data[i - ];
}
L->data[n - ] = ++nn;
L->len++;
return ;
}
bool listDelete(Sqlist *L, int n, int *e)
{
int i;
if (L->len == )
return ;
for (i = n - ; i <= MAXSIZE - ; i++)
{
if (i == MAXSIZE - )
break;
L->data[i] = L->data[i + ];
}
L->len--;
return ; } void showList(Sqlist L)
{
int i;
for (i = ; i<L.len; i++){
printf("%d\n", L.data[i]);
}
}
void main222()
{
Sqlist L;
initList(&L); ///这怎么就把结点初始化为链表了?
int i;
int temp;
for (i = ; i <= ; i++)
{
if (!listInsert(&L, i, i))
printf("no");
} showList(L); }