头插法建立单链表的算法
实现代码:
#include <iostream>
#include <stdlib.h>
using namespace std;
#define maxSize 100
typedef struct LNode{
int data;
struct LNode *next;
}LNode;
void createListR(LNode *&C,int a[],int n){
LNode *s,*r;
int i;
C=(LNode*)malloc(sizeof(LNode));
C->next=NULL;
r=C;
for(i=1;i<=n;++i){
s=(LNode *)malloc(sizeof(LNode));
s->data=a[i];
s->next=r->next;
r->next=s;
}
}
int main(int argc, char *argv[])
{
int a[10],e;
LNode *C;
cout<<"输入九个数:";
for(int i=1;i<=9;i++){
cin>>a[i];
}
createListR(C,a,9);
cout<<"输入单链表:";
for(int i=1;i<=9;++i){
C=C->next;
cout<<C->data<<" ";
}
return 0;
}
输出结果:
输入九个数:1 3 4 2 5 6 7 8 9
输入单链表:9 8 7 6 5 2 4 3 1 请按任意键继续. . .