每日学习
头插法新建链表
流程图
开始、
定义链表头指针、
为头指针申请空间、
scanf读取第一个元素值、
开启while循环建链表、
打印链表、
结束
#include<stdio.h>
#include<string.h>
#include<stdlib.h>
#define MaxSize 50
typedef int Element ;
typedef struct LNode{
Element data;
struct LNode *next;
}LNode,*LinkList;
void list_head_insert(LNode* &L)
{
L =(LinkList)malloc(sizeof(LNode));
L->next=NULL;
Element x;
scanf("%d",&x);
LNode *s;
while(x!=9999){
s=(LinkList)malloc(sizeof(LNode));
s->data=x;
s->next=L->next;
L->next=s;
scanf("%d",&x);
}
}
void PrintAll(LinkList L){
L=L->next;
while(L!=NULL){
printf("%3d",L->data);
L=L->next;
}
printf("\n");
}
int main(){
LinkList L;
list_head_insert(L);
PrintAll(L);
return 0;
}
尾插法新建链表
流程图
开始
定义链表头指针
头节点申请空间,定义尾指针r指向头节点L
scanf读取第一个元素值
开启while循环建链表
打印链表
结束
void list_tail_insert(LinkList &L){
L=(LinkList)malloc(sizeof(LNode));
L->next =NULL;
Element x;
scanf("%d",&x);
LNode *s,*r=L;
while(x!=9999){
s=(LinkList)malloc(sizeof(LNode));
s->data=x;
r->next=s;
r=s;
scanf("%d",&x);
}
r->next=NULL;
}