给大家推荐个靠谱的公众号程序员探索之路,大家一起加油
献给那些刚开始学数据结构 看不懂书上的伪代码的同学 强烈建议初学者必学结构体 指针 可以去图书馆借参考书
#include<stdio.h>
#include<stdlib.h>
#define N 1000
typedef struct node
{
int a[N];
int leng;
}*linklist;
void chu(linklist &head)
{
head->leng=0;
}
void in(linklist &head)
{
int m;
printf("请输入数字以0结束\n");
while(scanf("%d",&m),m)
{
head->a[head->leng]=m;
head->leng++;
}
}
void out(linklist &head)
{
printf("一元多项式是:\n");
for(int i=0;i<head->leng;i++)
printf("%d ",head->a[i]);
printf("\n");
}
void list(linklist &head)
{
int m;
printf("请输入要插入的位置\n");
scanf("%d",&m);
if(m<1||m>head->leng+1)
{
printf("插入位置有误\n");
return;
}
else if(head->leng>=N) printf("此表已\n");
else
{
for(int i=head->leng;i>=m;i--)
head->a[i]=head->a[i-1];
printf("请输入插入的数字\n");
scanf("%d",&head->a[m-1]);
head->leng+=1;
}
}
void dele(linklist &head)
{
int m;
printf("请输入要删除的位置\n");
scanf("%d",&m);
if(m<1||m>head->leng)
{
printf("删除的位置有误\n");
return;
}
else if(head->leng==0) printf("此表以空\n");
else
{
for(int i=m-1;i<head->leng;i++)
head->a[i]=head->a[i+1];
head->leng-=1;
}
}
main()
{
linklist head;
chu(head);
in(head);
out(head);
list(head);
out(head);
dele(head);
out(head);
}