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; }
像栈先进后出