#include <stdio.h>
#include <stdlib.h>
//顺序结构
void myinsert(int *a,int n)
{
int i,num,ipos;
printf("please inputs num or ipos:");
scanf("%d,%d",num,ipos);
if(ipos>n||ipos<0)
{
printf("第%d位不存在",ipos);
exit(0);//或者return 0
}
for(i=n-1;i>=ipos-1;i--)
{
*(a+i+1)=*(a+i);
}
*(a+ipos-1)=num;
for(i=0;i<n+1;i++)
{
printf("%d\t",*(a+i));
}
}
void myinsert2(int *a,int x,int n)
{
int i;
if(n>5||n<0)
{
printf("不存在%d位",n);
exit(0);
}
for(i=4;i>=n-1;i--)
{
*(a+i+1)=*(a+i);
}
*(a+n-1)=x;
for(i=0;i<6;i++)
{
printf("%d\t",*(a+i));
}
}
void mydelete(int *a,int n)
{
int i;
if(n>4||n<0)
{
printf("不存在%d位",n);
exit(NULL);
}
for(i=n-1;i<5;i++)
{
*(a+i)=*(a+i+1);
}
for(i=0;i<4;i++)
{
printf("%d\t",*(a+i));
}
}
//创建链表
typedef struct node
{
int date;
struct node *next;
}body;
body *creattable(int n)///n节点个数
{
int i,a;
body *head,*p1,*p2;
head = NULL; ///头结点为空
///输入节点内容
for(i=n;i>0;i--)
{
///(类型*)malloc(大小),返回指针
///sizeof(结构体名)计算结构体大小
p1=(body*)malloc(sizeof (body));//申请内存空间
///a用来保存节点的date
scanf("%d",&a);
p1->date = a;
if(head==NULL)
{
head=p1;
p2=p1;
}
else
{
p2->next = p1;
p2 = p1;
}
}
p2->next = NULL;
///返回头结点
return head;
}
int main()
{
/*int a[100];
int length=0;
while(1)
{
scanf("%d",(a+length));
length++;
if(getchar()=='\n')
break;
}
myinsert(a,length);*/
/*int a[5]={5,3,4,1,2};
mydelete(a,2);
myinsert2(a,8,2);*/
int n;
body *p;
scanf("%d",&n);//节点个数
p=creattable(n);
while(p)
{
printf("%d ",p->date);
p = p->next;
}
return 0;
}
#include <stdlib.h>
//顺序结构
void myinsert(int *a,int n)
{
int i,num,ipos;
printf("please inputs num or ipos:");
scanf("%d,%d",num,ipos);
if(ipos>n||ipos<0)
{
printf("第%d位不存在",ipos);
exit(0);//或者return 0
}
for(i=n-1;i>=ipos-1;i--)
{
*(a+i+1)=*(a+i);
}
*(a+ipos-1)=num;
for(i=0;i<n+1;i++)
{
printf("%d\t",*(a+i));
}
}
void myinsert2(int *a,int x,int n)
{
int i;
if(n>5||n<0)
{
printf("不存在%d位",n);
exit(0);
}
for(i=4;i>=n-1;i--)
{
*(a+i+1)=*(a+i);
}
*(a+n-1)=x;
for(i=0;i<6;i++)
{
printf("%d\t",*(a+i));
}
}
void mydelete(int *a,int n)
{
int i;
if(n>4||n<0)
{
printf("不存在%d位",n);
exit(NULL);
}
for(i=n-1;i<5;i++)
{
*(a+i)=*(a+i+1);
}
for(i=0;i<4;i++)
{
printf("%d\t",*(a+i));
}
}
//创建链表
typedef struct node
{
int date;
struct node *next;
}body;
body *creattable(int n)///n节点个数
{
int i,a;
body *head,*p1,*p2;
head = NULL; ///头结点为空
///输入节点内容
for(i=n;i>0;i--)
{
///(类型*)malloc(大小),返回指针
///sizeof(结构体名)计算结构体大小
p1=(body*)malloc(sizeof (body));//申请内存空间
///a用来保存节点的date
scanf("%d",&a);
p1->date = a;
if(head==NULL)
{
head=p1;
p2=p1;
}
else
{
p2->next = p1;
p2 = p1;
}
}
p2->next = NULL;
///返回头结点
return head;
}
int main()
{
/*int a[100];
int length=0;
while(1)
{
scanf("%d",(a+length));
length++;
if(getchar()=='\n')
break;
}
myinsert(a,length);*/
/*int a[5]={5,3,4,1,2};
mydelete(a,2);
myinsert2(a,8,2);*/
int n;
body *p;
scanf("%d",&n);//节点个数
p=creattable(n);
while(p)
{
printf("%d ",p->date);
p = p->next;
}
return 0;
}