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

第十章-3-结构体练习

时间:2020-02-11 11:52:03      阅读:51      评论:0      收藏:0      [点我收藏+]

标签:nbsp   def   version   编写   mes   size   str   lis   ==   

/*
 * @Issue: 已知head指向带头结点的单向链表,链表中每个结点抱哈字符型数据域(data)和指针域(next),编写程序
 *         实现在值为a的结点前插入值为key的结点,若没有值为a的结点,则插入在链表最后
 * @Author: 一届书生
 * @LastEditTime : 2020-02-11 09:51:30
 */
#include<iostream>
using namespace std;

typedef struct node{
    char data;
    struct node *next;
}linklist;

void insert(linklist *head,char a,char key){
    linklist *s;//插入结点
    s=new linklist[sizeof(node)];
    s->data=key;
    linklist *p,*q;
    q=head;p=head->next;
    if(p==NULL){
        s->next=NULL;
        q->next=s;
        return;
    }
    while((p->next!=NULL)&&(p->data!=a)){
        q=p;
        p=p->next;
    }
    if(p->data==a){
        s->next=p;
        q->next=s;
    }
    else{
        s->next=NULL;
        p->next=s;
    }
}

int main(){
    
    return 0;
}

  第二个题目是链表倒置,好久没写了,都忘了,附个图

技术图片

 

/*
 * @Issue: head指向一个带有头结点的单向链表,链表中每个结点饱和字符型数据域(data)和指针域(next),实现倒置
 * @Author: 一届书生
 * @LastEditTime : 2020-02-11 10:42:05
 */
#include<iostream>
using namespace std;

typedef struct node{
    char data;
    struct node *next;
}linklist;

// 初始化
 linklist *craetlist(){
    linklist *p,*q,*ph;  //q:头结点 p:插入的结点 
    ph=new linklist[sizeof(node)];
    q=ph;
    char a;
    cin>>a;
    while(a!=‘z‘){
        p=new linklist[sizeof(node)];
        p->data=a;
        q->next=p;
        q=p;
        cin>>a;
    }
    q->next=NULL;
    return (ph);
}

//倒置
void inversion(linklist *head){
    linklist *p,*q;
    p=head->next;
    head->next=NULL;
    while(p!=NULL){
        q=p->next;
        p->next=head->next;
        head->next=p;
        p=q;
    }
}

int main(){
    linklist *head;
    head=craetlist();
    linklist *p=head;
    cout<<"倒置前:"<<endl;
    while(p->next!=NULL){
        p=p->next;
        cout<<p->data<<" ";
    }
    inversion(head);
    cout<<endl<<"倒置后:"<<endl;
    linklist *q=head;
    while(q->next!=NULL){
        q=q->next;
        cout<<q->data<<" ";
    }
    
    return 0;
}

  

第十章-3-结构体练习

标签:nbsp   def   version   编写   mes   size   str   lis   ==   

原文地址:https://www.cnblogs.com/52dxer/p/12294135.html

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