zoukankan      html  css  js  c++  java
  • 链表的创建与插入

    好久没写博客了,今天写一个链表的创建与插入,老师没给我们题目,只好自己顺便写了

    题目是:已知一个从小到大排列的数列,现在给你一个数,要你将它插进去,使数列还是从小到大排列。

    代码:

    #include<stdio.h>
    #include<stdlib.h>//malloc头文件 
    struct node//定义结构 
    {
    	int data;
    	struct node *next;
    };
    int main()
    {
      struct node *head=NULL,*p,*q,*t;
      int n,i,a;
      scanf("%d",&n);
      for(i=1;i<=n;i++)//创建链表 
      {
      scanf("%d",&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;	
      }	
      scanf("%d",&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;
      }
      t=head;
      while(t!=NULL)//输出链表 
      {
      	printf("%d ",t->data);
      	t=t->next;
      }
      getchar();getchar();//吸收\n 
      return 0;
    }
    

    错误信息:

    错误原因:

    没写“;”;加上“;”

    运行信息:

  • 相关阅读:
    STL常用容器☞String容器
    初识STL
    函数模板
    多态
    运算符重载
    友元
    对象的初始化和清理
    C++内存分区模型
    传值和传地址
    const的使用
  • 原文地址:https://www.cnblogs.com/2719610441qqcom/p/9026450.html
Copyright © 2011-2022 走看看