都在注释里,emmm……
#include<stdio.h>
#include<stdlib.h>
#include<iostream>
using namespace std;
typedef struct Llist{
int data;
struct Llist *next;
}Llist;
//尾插法建立单链表,*&C通过行参影响实参(引用)
void creatlist(Llist *&c,int a[],int n){
Llist *r,*s;
c=(Llist *)malloc(sizeof(Llist));//动态分配空间
c->next=NULL;//c指针置空
r=c; //行参影响实参
for(int i=0;i<n;++i){
s=(Llist *)malloc(sizeof(Llist));//动态分配空间,每次都不一样秒!
s->data=a[i];//s数据赋值
r->next=s;//s插入头尾指针
r=r->next;//尾插法建立链表
}
r->next=NULL;//指针置空
}
void printlist(Llist *c,int length){
int temp;
for(int i=0;i<length;++i){
c=c->next;//第一次取头指针,不断往下走
temp=c->data;//取出指针对应得数据
cout<<temp<<" ";//打印
}
}
int main(){
int a[]={1,2,3,4,5,6,7,8,9};
Llist *demo;//定义demo
creatlist(demo,a,9);
printlist(demo,9);
return 0;
}
仔细琢磨,挺有趣!
转载:https://blog.csdn.net/qq_38870145/article/details/102303117
查看评论