数据结构顺序表基本操作(c语言)
#ifndef _SList_H_
#include <stdio.h>
#include <stdlib.h>
#define MAX 100
typedef int ElemType
;
typedef struct
{
ElemType data
[MAX
];
int length
;
}List
;
void InitiList(List
*L
);
void InsertsList(List
*L
);
int InsertList(List
*L
,ElemType e
, int n
);
int Locate(List
*L
,ElemType e
);
int GetElem(List
*L
,int n
);
int DeleteList(List
*L
,int n
);
void printfList(List
*L
);
#endif
#include <stdio.h>
#include "SList.h"
void InitiList(List
*L
)
{
L
->length
=0;
}
void InsertsList(List
*L
)
{
int n
;
ElemType e
;
printf("输入要插入元素的个数:");
scanf("%d",&n
);
for (int i
= L
->length
; i
< n
; i
++)
{
printf("输入元素:");
scanf("%d",&e
);
L
->data
[i
]=e
;
L
->length
++;
}
}
int InsertList(List
*L
,ElemType e
, int n
)
{
if(n
<1||n
>=L
->length
+1)
{
return 0;
}
for ( int i
=L
->length
; i
>n
; i
--)
{
L
->data
[i
]=L
->data
[i
-1];
}
L
->data
[n
]=e
;
L
->length
++;
}
int Locate(List
*L
,ElemType e
)
{
int i
=0;
while(i
>L
->length
||L
->data
[i
]!=e
)
{
i
++;
}
if (i
>=L
->length
)
{
return 0;
}
else
{
return (i
+1);
}
}
int GetElem(List
*L
,int n
)
{
if (n
>L
->length
)
{
return 0;
}
else
{
return L
->data
[n
-1];
}
}
int DeleteList(List
*L
,int n
)
{
if (n
>L
->length
||n
<1)
{
return 0;
}
for (int i
= n
; i
< L
->length
; i
++)
{
L
->data
[i
-1]=L
->data
[i
];
}
L
->length
--;
}
void printfList(List
*L
)
{
for (int i
= 0; i
<L
->length
; i
++)
{
printf("%d",L
->data
[i
]);
}
}
}
转载请注明原文地址: https://lol.8miu.com/read-25029.html