emm,都在注释里……
#include<iostream>
#include<stdio.h>
#include<stdlib.h>
using namespace std;
typedef struct Llist
{
int data;
struct Llist *next;//指针嵌套使用,就像一条直线无限延长
}Llist;
//头插法,s的指针指向c的头结点的指针
void createlist(Llist *&c,int a[],int length){
Llist *s;
c=(Llist *)malloc(sizeof(Llist));
c->next=NULL;//把c的指针置空,就像把一条直线变成射线
for(int i=0;i<length;++i){
s=(Llist *)malloc(sizeof(Llist));//分配空间
s->data=a[i];//赋值
s->next=c->next;//头结点
c->next=s;//头结点
}
}
void printlist(Llist *c,int length){
for(int i=0;i<length;++i){
c=c->next;
cout<<c->data<<" ";
}
}
int main(){
int n;
cout<<"输入长度n:\n";
cin>>n;
cout<<"输入"<<n<<"个数据:\n";
int arry[n];
for(int i=0;i<n;++i){
cin>>arry[i];
}
Llist *list;
createlist(list,arry,n);
cout<<"list元素:\n";
printlist(list,n);
return 0;
}
像栈先进后出