zoukankan      html  css  js  c++  java
  • 数据结构--链表

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

    在堆中动态分配空间 

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

    c++--new申请空间,dalete回收(new不仅分配内存还创建了对象)

    #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;
    }
        
    如果你够坚强够勇敢,你就能驾驭他们
  • 相关阅读:
    Docker 使用笔记 (一)
    oracle 截取字符(substr),检索字符位置(instr)
    oracle表空间配额(quota)与UNLIMITED TABLESPACE系统权限
    把大象放到eclipse分几步?
    hadoop -- 搭建集群小工具
    1. Mybatis简单操作
    SpringMVC --- 拦截器 HandlerInterceptor
    Spring MVC --- 异步请求
    Spring MVC--RequestMapping
    Spring MVC 异常控制
  • 原文地址:https://www.cnblogs.com/liuzhaojun/p/11189227.html
Copyright © 2011-2022 走看看