小言_互联网的博客

尾插法建立链表

205人阅读  评论(0)

都在注释里,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
查看评论
* 以上用户言论只代表其个人观点,不代表本网站的观点或立场