码迷,mamicode.com
首页 > 其他好文 > 详细

链表(1)

时间:2019-04-22 22:33:49      阅读:175      评论:0      收藏:0      [点我收藏+]

标签:nbsp   ++   out   ext   bsp   struct   一个   col   实现   

创造结点结构体

struct node {
    int data;
    struct node *next_;
};

尾插法输入数据

for(int i=1;i<=n;i++) {
        cin>>a;
        p=(struct node *)malloc(sizeof(struct node));
        p->data=a;
        p->next_=NULL;
        if(head==NULL) head=p;
        else q->next_=p;
        q=p;
    }

头插法(可实现逆序输出)

do {
        cin>>a;
        if(a!=-1) {
            p=(struct node *)malloc(sizeof(struct node));
            p->data=a;
            p->next_=head;
            head=p;
        }
    }while(a!=-1);//结束条件 

从顺序链表中插入一个数

cin>>a;//插入一个数 
    t=head;
    while(t!=NULL) {
        if(t->next_==NULL||t->next_->data>a) {
            p=(struct node *)malloc(sizeof(struct node));
            p->data=a;
            p->next_=t->next_;
            t->next_=p;
            break;
        }
        t=t->next_;
    }

删除顺序表的第k个数

int k;
    cin>>k;//删除第k个数
    int cnt=1;
    t=head;
    while(t!=NULL) {
        if(cnt==k) {
            t=t->next_;
            cnt++;
        }
        else {
            cout<<t->data<< ;
            t=t->next_;
            cnt++;
        }
    } 

顺序输出模板

技术图片
#include<iostream>
#include<algorithm>
using namespace std;
struct node {
    int data;
    struct node *next_;
};
int main() {
    struct node *head,*p,*q,*t;
    int n,a;
    cin>>n;
    head=NULL; 
    for(int i=1;i<=n;i++) {
        cin>>a;
        p=(struct node *)malloc(sizeof(struct node));
        p->data=a;
        p->next_=NULL;
        if(head==NULL) head=p;
        else q->next_=p;
        q=p;
    }
    t=head;
    while(t!=NULL) {
        cout<<t->data<< ;
        t=t->next_;
    }
    return 0;
}
View Code

 

链表(1)

标签:nbsp   ++   out   ext   bsp   struct   一个   col   实现   

原文地址:https://www.cnblogs.com/wes-/p/10753376.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!