博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
[日常] 算法-单链表的创建-尾插法
阅读量:5927 次
发布时间:2019-06-19

本文共 2279 字,大约阅读时间需要 7 分钟。

1.创建头结点,头结点的next指向null

2.把头结点赋值给一个中间变量

3.循环中创建结点, 中间变量的next指向新结点

4.新结点覆盖中间变量

c语言版:

#include 
#include
typedef struct Node{ char* data; struct Node* next;} Node;typedef Node* LinkList;int main(){ //指针所占字节与系统有关,一般32位系统,一个指针占4个字节 printf("%d\n",sizeof(Node));//输出 4+4=8 //头结点 LinkList head=(LinkList)malloc(sizeof(Node)); //第一个结点 Node* node1=(Node*)malloc(sizeof(Node)); node1->data="aaa"; node1->next=NULL; //第二个结点 Node* node2=(Node*)malloc(sizeof(Node)); node2->data="bbb"; node2->next=NULL; head->next=node1; node1->next=node2; //遍历 while(head->next){ head=head->next; printf("%s\n",head->data); } //2.尾插法 LinkList list=(LinkList)malloc(sizeof(Node)); list->next=NULL; LinkList temp=list;//中间过渡 for(int i=0;i<10;i++){ LinkList node=(LinkList)malloc(sizeof(Node)); char* str=(char*)malloc(4);//给字符串分配内存 sprintf(str,"aaa%d",i); node->data=str; temp->next=node; temp=node;//循环的时候,每次覆盖成最新的结点 } //遍历 while(list->next){ list=list->next; printf("%s\n",list->data); } }

go语言版:

package mainimport(        "fmt")type Node struct{        data string        next *Node}type LinkList *Nodefunc main(){        list:=new(Node)        list.next=nil        var node LinkList        temp:=list        for i:=0;i<10;i++{                node=new(Node)                node.data="aaa"+fmt.Sprintf("%d",i)                node.next=nil                temp.next=node                temp=node        }           //遍历        for{                list=list.next                fmt.Println(list.data)                if list.next==nil{                        break                }           }   }

php语言版:

next=null;$temp=$list;for($i=0;$i<10;$i++){ $node=new Node(); $node->data="aaa{$i}"; $node->next=null; $temp->next=$node; $temp=$node;}//遍历while($list->next){ $list=$list->next; echo $list->data."\n";}

  

  

  

转载于:https://www.cnblogs.com/taoshihan/p/9166298.html

你可能感兴趣的文章
基本分类方法——KNN(K近邻)算法
查看>>
Q_DISABLE_COPY
查看>>
Ubuntu 安装IntelliJ IDEA
查看>>
使用TensorFlow实现神经网络的介绍
查看>>
Servlet的Cookie值保存与获取
查看>>
electron-vue:Vue.js 开发 Electron 桌面应用
查看>>
【算法】实现字典API:有序数组和无序链表
查看>>
EatCam Webcam Recorder Pro
查看>>
android studio Authentication failed for
查看>>
request与response对象详述
查看>>
VMXNET3 vs E1000E and E1000
查看>>
http/https与websocket的ws/wss的关系以及通过Nginx的配置
查看>>
2019 年 Vue 学习路线图
查看>>
人为什么要分享?
查看>>
7款调色板工具推荐
查看>>
怪异的grep结果
查看>>
startActivityForResult 用法
查看>>
jquery插件制作 -- 6.手风琴Panel
查看>>
office2007新建 Microsoft Office Word 文档.docx,打开后弹出转换文件对话框的解决办法...
查看>>
JS只能输入数字和小数点
查看>>