#include<stdio.h>
#include<stdlib.h>
#define MAXSIZE 1024
#define elemtype int
typedef struct {
elemtype data[MAXSIZE];
int last;
} SequenList;
void CreateList_Sq(SequenList &L,elemtype a[],int n)
{
int i;
L = (SequenList )malloc(sizeof(SequenList));
for(i = 0; i < n; i++)
{
L -> data[i] = a[i];
}
L -> last = n;
}
int main()
{
SequenList * L;
int i,j;
elemtype a[] = {288,384,448,480,576,896};
CreateList_Sq(L,a,sizeof(a)/sizeof(int));
for(i = 0; i < ((L->last)/5 + 1 ); i++)
{
for(j=0; j<5; j++)
{
if(L->data[j + i5]!=NULL)
printf("%d ",L->data[j + i5]);
}
printf("\n");
}
return 0;
}
这是线性表,求插入和删除怎么做
供参考:
#include<stdio.h>
#include<stdlib.h>
#define MAXSIZE 1024
#define elemtype int
typedef struct {
elemtype data[MAXSIZE];
int last;
} SequenList;
void CreateList_Sq(SequenList *&L,elemtype a[],int n)
{
int i;
L = (SequenList*)malloc(sizeof(SequenList));
for(i = 0; i < n; i++)
{
L -> data[i] = a[i];
}
L -> last = n;
}
int Insert_SequenList(SequenList *L,elemtype x,int i) //插入
{
int j;
if(i <= 0 || L->last > MAXSIZE || i > L->last) return -1;
for(j = L->last;j > i-1;j--){
L->data[j] = L->data[j-1];
}
L->data[i-1] = x;
L->last++;
return 0;
}
int Delete_SequenList(SequenList *L,int i) //删除
{
int j;
if(i <= 0 || L->last <= 0 || i > L->last) return -1;
for(j = i - 1;j < L->last;j++)
L->data[j] = L->data[j+1];
L->last--;
return 0;
}
int main()
{
SequenList * L;
int i,j;
elemtype a[] = {288,384,448,480,576,896};
CreateList_Sq(L,a,sizeof(a)/sizeof(int));
Insert_SequenList(L,7,1);
Delete_SequenList(L,2);
for(i = 0; i < ((L->last)/5 + 1 ); i++)
{
for(j=0; j<5; j++)
{
if(L->data[j + i*5]!=NULL)
printf("%d ",L->data[j + i*5]);
}
printf("\n");
}
return 0;
}