目标:建立一个单链表。
代码:
#include <iostream>
#include "kudetouwenjian.h"
using namespace std;
int main()
{
linknode *L;
A a[5]={1,2,3,4,5};
int n=5;
toucha(L,a,n);
shuchu(L);
cout<<endl;
weicha(L,a,n);
shuchu(L);
return 0;
}
#include <iostream>
#include <malloc.h>
#include "kudetouwenjian.h"
using namespace std;
void toucha(linknode *&L,A a[],int n)
{
linknode *s;
L=(linknode *)malloc(sizeof(linknode));
L->next=NULL;
for(int i=0;i<n;i++)
{
s=(linknode *)malloc(sizeof(linknode));
s->shuju=a[i];
s->next=L->next;
L->next=s;
}
}
void shuchu(linknode *L)
{
linknode *p=L->next;
while(p!=NULL)
{
cout<<p->shuju<<endl;
p=p->next;
}
}
void weicha(linknode *&L,A a[],int n)
{
linknode *s,*r;
L=(linknode *)malloc(sizeof(linknode));
r=L;
for(int i=0;i<n;i++)
{
s=(linknode *)malloc(sizeof(linknode));
s->shuju=a[i];
r->next=s;
r=s;
}
r->next=NULL;
}
#ifndef KUDETOUWENJIAN_H_INCLUDED
#define KUDETOUWENJIAN_H_INCLUDED
#include <iostream>
typedef int A;
typedef struct lianbiao
{
A shuju;
struct lianbiao *next;
}linknode;
void toucha(linknode *&L,A a[],int n);
void shuchu(linknode *L);
void weicha(linknode *&L,A a[],int n);
运行图:
学习总结:
做到这一章才发现我之前把顺序表和链表搞反了,,,,,