线性表-链式表
#include <iostream>
#include <stdlib.h>
#include <stdio.h>
/*
线性表---链式表 链表的插入和删除操作都是先
*/
/*
定义类型 (构造)
*/
typedef struct LinkList
{
int data;
struct LinkList *next;
}linklist;
/*
1、初始化链式表
*/
int init_linklist(linklist *&L)
{
L=(linklist *)malloc(sizeof(linklist));
L->next=NULL;
}
/*
2、插入数据 头插,也是正常插入数据算法
*/
int insert_linklist(linklist *&L,int e)
{
linklist *m,*p=L;
m=(linklist *)malloc(sizeof(linklist));
m->data=e;
/*
链表勾画,先右后左
*/
m->next=L->next;
L->next=m;
}
/*
3、遍历链式表
*/
int show_linklist(linklist *L)
{
linklist *p=L;// linklist *p=L->next;
while(p->next!=NULL)//p->next!=NULL
{
printf("%d ",p->next->data);//两种写法
p=p->next;
// printf("%d ",p->data);
// p=p->next;
}
printf("\n");
}
/* run this program using the console pauser or add your own getch, system("pause") or input loop */
int main(int argc, char** argv) {
int a[10]={2,4,6,8,10,12,14,16,18,20};
int i;
linklist *L;
init_linklist(L);
for(i=0;i<10;i++)
{
insert_linklist(L,a[i]);
}
show_linklist(L);
return 0;
}