C语言数据结构——顺序表
#include<stdio.h>
#define ListSize 100
typedef int DataType;
typedef struct{
DataType Data[ListSize];
int length;
}SeqList;
void InitList(SeqList *L){
L->length=0;}
int LengthList(SeqList *L){
return L->length;}
DataType GetList(SeqList *L,int i){
return L->Data[i-1];}
int InsertList(SeqList *L,DataType t,int i){
int j;
if(i<1||i>L->length+1)
{puts("插入位置错");
return 0;}
if(L->length>=ListSize)
{puts("表满不能插入");
return 0;}
for(j=L->length-1;j>=i-1;j--){
L->Data[j+1]=L->Data[j];
L->Data[i-1]=t;
L->length++;
return 1;}
}
int DeleteList(SeqList *L,int i ){
int j;
if(i<1||i>=L->length){
puts("删除位置错");}
if(L->length=0){
puts("空表不能删除");
return 0;}
for(j=i;j<=L->length;j++)
L->Data[j-1]=L->Data[j];
L->length--;
return 1;
}
int LocateList(SeqList*L,DataType t){
int i = 1;
while(i<=L->length&&L->Data[i-1]!=t)
i++;
if(L->Data[i-1]==t)
return i;
else
return -1;}
void Part(SeqList *L){
int i,j;
DataType x,y;
x=L->Data[0];
for(i=1;i<L->length;i++)
if(L->Data[i]<x){
y=L->Data[i];
for(j=i-1;j>=0;j--)
L->Data[j+1]=L->Data[j];
L->Data[0]=y;
}
}
main(){
}