数据结构--链表

数据结构--链表,第1张

概述链表(linked list)——顺序表的一种  逻辑上是连续的但物理上再内存中并不是连续的 在堆中动态分配空间  c --malloc申请空间,free回收 c++--new申请空间,dalete回收(c++好用) #include<iostream>using namespace std;struct node{ int data; node * next;};

链表(linked List)——顺序表的一种  逻辑上是连续的但物理上再内存中并不是连续的

在堆中动态分配空间 

c --malloc申请空间,free回收

c++--new申请空间,Dalete回收(c++好用)

#include<iostream>using namespace std;struct node{    int data;    node * next;};int n;//n=new int ;node* creat(int *arr)//带头节点的链表 {    node* p,*head,*pre;    head=new node;    head->next=NulL;     pre=head;    for(int i=0;i<n;i++)    {        p=new node;        p->data =arr[i];        p->next=NulL;        pre->next=p;        pre=p;    }    return head;}//在以head为头结点的链表上计数元素x的个数int search(node* head,int x){    int count=0;    node *p=head->next;    while(p!=NulL){        if(p->data==x) count++;        p=p->next;    }    return count;}//将x插入以head为头结点的链表的第pos个位置上voID insert(node* head,int pos,int x){    node* p=head;    for(int i=0;i<pos-1;i++){        p=p->next;    }    node* q=new node;    q->data=x;    q->next=p->next;    p->next=q;}//删除以head为头结点的链表中所有数据域为x的结点voID del(node* head,int x){    node* p=head->next;    node* pre=head;    while(p!=NulL){        if(p->data==x){            pre->next=p->next;            delete(p);            p=pre->next;        }else{            pre=p;            p=p->next;        }    }}int main(){    cin>>n;    int *arr=new int[n];    for(int i=0;i<n;i++)    cin>>arr[i];    node* r=creat(arr);    while(r!=NulL)    {        cout<<r->data<<" ";        r=r->next;    }    return 0;}    
总结

以上是内存溢出为你收集整理的数据结构--链表全部内容,希望文章能够帮你解决数据结构--链表所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/langs/1228649.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2022-06-05
下一篇2022-06-05

发表评论

登录后才能评论

评论列表(0条)

    保存