问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

...的单链表,写出在其值为x的结点之后插入m个结点的程序。

发布网友 发布时间:2023-12-26 18:48

我来回答

3个回答

热心网友 时间:2024-03-19 14:38

#include <stdio.h>
#include <malloc.h>

typedef struct st
{
    int id;
    struct st *next;
    struct st *tailST;
}ST;
ST *getSTS(int len);//获取一个链表,节点个数为len,返回链表首地址
ST *getST(ST *headST,int con);//获取第con个节点
void printfST(ST *headST);//打印链表
int idNUM=1000;
int main()
{
    int n,con;
    struct st *headST=NULL,*headST2=NULL,*findST=NULL;
    printf("请输入初始链表节点数量:");
    scanf("%d",&n);
    headST=getSTS(n);
    printf("%d个节点链表已生成。\n\n",n);
    printfST(headST);
    printf("请输入要在第几个节点后面插入新节点:");
    scanf("%d",&con);
    findST=getST(headST,con);
    printf("找到的节点ID:%d。\n",findST->id);
    printf("请输入要插入的节点个数:");
    scanf("%d",&n);
    headST2=getSTS(n);
    printf("---开始插入节点--\n");
    headST2->tailST->next=findST->next;
    findST->next=headST2->next;
    printf("---插入完成--\n");
    printfST(headST);
    return 0;
}
void printfST(ST *headST)//打印链表
{
    while(headST->next!=NULL)
    {
        printf("节点编号:%d\n",headST->next->id);
        headST=headST->next;
    }
    printf("\n");
}
ST *getST(ST *headST,int con)//获取第con个节点
{
    int count=0;
    while(headST->next!=NULL)
    {
        count++;
        if(count==con)
            return headST->next;
        headST=headST->next;
    }
    return NULL;
}
ST *getSTS(int len)//获取一个链表,节点个数为len,返回链表首地址
{
    ST *headST=NULL,*tailST=NULL,*newST=NULL;
    headST=(ST *)malloc(sizeof(ST));
    headST->next=NULL;
    headST->tailST=NULL;
    while(len>0)
    {
        newST=(ST *)malloc(sizeof(ST));;
        newST->id=idNUM++;
        newST->next=NULL;
        newST->tailST=NULL;
        if(headST->next==NULL)
           headST->next= newST;
        else
           tailST->next= newST;
        tailST=newST;
        len--;
    }
    headST->tailST=tailST;
    return headST;
}

热心网友 时间:2024-03-19 14:32

#include "stdio.h"
#include <stdlib.h>
#include "time.h"
struct node{
int data;
struct node *next;
};
struct node *createnode(void){
struct node *q;
if((q=(struct node *)malloc(sizeof(struct node)))==NULL){
printf("Application memory failure, exit...\n");
exit(0);
}
return q;
}
int main(int argc,char *argv[]){
struct node *head,*p,*q;
int i,m,x;
srand((unsigned)time(NULL));
for(x=1,head=NULL,m=rand()%20+1,i=0;i<m;i++){
if(head){
p->next=createnode();
p=p->next;
p->data=x++;
p->next=NULL;
}
else{
p=head=createnode();
head->next=NULL;
}
}
printf("Please enter x & m(int)...\n");
scanf("%d%d",&x,&m);
for(p=head->next;p;p=p->next)
if(p->data==x){
for(q=p->next,i=0;i<m;i++){
p->next=createnode();
scanf("%d",&(p=p->next)->data);
}
p->next=q;
break;
}
if(p==NULL){
printf("x(%d) is not found...\n",x);
return 0;
}
for(p=head->next;p;p=p->next)//Look at...
printf("%6d",p->data);
printf("\n");
for(p=head;p->next;p=p->next,free(head),head=p);//Delete link...
free(p);
return 0;
}

运行样例:

热心网友 时间:2024-03-19 14:33

struct LNode *insert(struct LNode *head,int x,int i) { int j=1; struct LNode *s,*q; q=head; s=(struct LNode *) malloc ( sizeof(struct LNode) ); s->data=x; if(i==1) { s->next=q; head=s; } else { while(q->next != NULL) { q=q->next; j++; } if(j==i-1) { s->next=q->next; q->next=s; } else printf("error! there is no position\n"); } return(head); }
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
为什么一些男性喜欢要求伴侣叫自己爸爸? proteus8中怎么放置引脚标号 ...在proteus里不知道用什么表示?有没有什么proteus中专门的中英文对照... 甜蜜家园郑毅铭是什么身份 甜蜜家园第二季郑毅铭喜欢谁 瑞梦喜智能空调床垫适合人群 小孩可以用智能床垫吗 智能床垫适合哪些人用 我父亲今年59岁,有高血压和颈椎病的病史,最近一段时间感觉一躺下就偏... ...刚从医院治疗回来。我想买个枕头给他,不知买怎样的比较好?_百度知 ... 有什么正规的外汇平台吗 ...器上有这样的铭牌:额定电压220V频率50Hz防触电保护 ...个跑跑卡丁车的角色名称?帮忙可以有偏旁和字母要好看的谢谢大家_百 ... 高中物理题第十四题求解 微信上怎样定位自己的位置 日本softbank的电话没解约就回国对签证有影响么 绑定了手机号的怎样解除 太阳能板在完全天黑的情况下能产生1ma的电流吗 修改学生表,要求性别只能为难或女 仁寿寺开放时间? 原始wxid怎么加好友? 一个手机号在注册了一个微信后又注册了新的,旧的怎么找回? 上海使用权房能否出租 巨蟹座男生喜欢一个女孩会有什么表现 一年内第二次修改技巧 一年内怎么改第二次 索尼RX100M6有防抖功能吗? 崩坏星穹铁道里的学术研究续有什么流程 如果将一束激光照在光伏电板上能否产生电流 回家看老人送什么花,探亲送花推荐 我一舍友喝醉了就喜欢找我麻烦,他每次喝醉了攻击我,我也没还手,他说... ...走到大门那,突然我单位的一个女同事进来了,结果我光溜溜全被她看到... ...及肺内感染,右侧胸膜增后,双肺尖少许陈旧病造,严重吗?能自愈吗... 带分数与假分数的互化有哪几种方法呢? 警察因身体原因辞去领导职务会不会很难 红珠觅玄机代表什么生肖 属于B类火灾的物质是:A木材;B石油气;C汽油 ...如果只有一个人是黄钻是不是每个月还要另外支付10Q币呀 祝福别人生日快乐,第一时间好还是最后一秒好? 摩尔勇士 魔法师练什么精灵好 ? 同一个手机号注册了两个微信,第一登不上了怎么办? 黄荆桩子冬天怎么养护? 出车祸后修车理赔流程 被盗,在群里拉各种人打广告怎么办? 马里奥与路易基RPG3库巴第一次教学战时卡住了 石家庄硕康体育科技有限公司怎么样 房贷贷了18万还15年一共还多少钱建行贷的没有公积金 ...专业技术、生产操作人员的职位体系吗,有何具体建议? 毕节同舟公园御府售楼热线是多少? 新注册的怎么养不会被封87 被盗拉人进群怎么办?