#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;
}
这是线性表,求插入和删除怎么做
数据结构的插入删除问题
- 写回答
- 好问题 0 提建议
- 关注问题
- 邀请回答
-
1条回答 默认 最新
- qzjhjxj 2022-03-12 16:58关注
供参考:
#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; }
本回答被题主选为最佳回答 , 对您是否有帮助呢?解决 1无用