本文主要是介绍寒假集训第二天——线性表,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
现在时间是北京时间1点23分,第二天集训。。。
昨天花了老长时间把线性表看了下,表示很有压力,不大会用。。。
先说下我学到的线性表的皮毛。。。
首先是链表的构建,构建有两种方式:
顺序链表(尾插法建单链表)
#include<stdio.h>
struct node{int date;struct node *next;
};
int main()
{int i,n;node *head=new node;head->next=NULL;node *tail=head;scanf("%d",&n);for(i=0;i<n;i++){node *p=new node;scanf("%d",&p->date);//对p构建p->next=NULL;tail->next=p;tail=p;}for(node *p=head->next;p!=NULL;p=p->next)printf("%d ",p->date);
}
尾插法的另一种实现方法
#include<stdio.h>
struct node
{int date;struct node *next;
};
int main()
{int n,i;node *head=NULL;node *tail;scanf("%d",&n);for(i=1;i<=n;i++){node *p=new node;if(head==NULL)head=p;elsetail->next=p;p->date=i;//对p构建p->next=NULL;tail=p;}node *p;p=head;while(p!=NULL){printf("%d ",p->date);p=p->next;}
}
逆序链表(头插法建单链表)
#include<stdio.h>
struct node{int date;struct node *next;
};
int main()
{int i,n;node *head=NULL;scanf("%d",&n);for(i=0;i<n;i++){node *p=new node;scanf("%d",&p->date);p->next=head;head=p;}for(node *p=head;p!=NULL;p=p->next)printf("%d ",p->date);
}
今天可是很艰难的一天,也是很有激情的一天,链表不大会呀,想想明天还得栈与队列。。。
学了好多东西。。。
这篇关于寒假集训第二天——线性表的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!