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;
    }
        
    如果你够坚强够勇敢,你就能驾驭他们
  • 相关阅读:
    现代程序设计 作业1
    现代程序设计课程简介
    ubuntu 下解决安装包依赖问题
    centos下安装nginx和php-fpm
    如何在本机上将localhost改为www.dev.com
    神器
    脚本监测 前十名磁盘空间用户的列表
    使用xml来显示获取的mysql数据
    linux使用脚本自动连接数据库
    shell script的连接符是逗号,不是英文的句号
  • 原文地址:https://www.cnblogs.com/liuzhaojun/p/11189227.html
Copyright © 2011-2022 走看看