zoukankan      html  css  js  c++  java
  • 查询单向链表的结点

    #include <stdio.h>
    #include <stdlib.h>
    #include <string.h>
    struct node
    {
    	char name[20];
    	char tel[9];
    	struct node *next;
    	int num[10];
    };
    struct node *head,*p,*q;
       struct node *create()
    {
    //	struct node *head,*p,*q;
    	char name[20];
    	head=NULL;
    	printf("name:");
    	gets(name);
    	while (strlen(name)!=0)
    	{
    		p=(struct node *)malloc(sizeof(struct node));//开辟新结点
    		if(p==NULL)
    		{
    
    			printf("allocation failure
    ");
    			exit(0);
    
    		}
    		strcpy(p->name,name);
    		printf("tel:");
    		gets(p->tel);
    		printf("num:");
    		gets(p->num);
    		p->next=NULL;
    		if(head==NULL)
    			head=p;
    		else 
    			q->next=p;
    		q=p;//令p指向新的结点
    		printf("name:");
    		gets(name);
    	}
    	return head;
    }
       struct node getelem (int i)
       {  int j;
          struct node *p;
    	  p=head;
          j=1;
    	  while((p!=NULL)&&j<i)//一直寻找到结点i
    	  {
    		  p=p->next;
    		  ++j;
    
    	  }
    	  if((p==NULL)||j>i)
    	  {
    		  printf("此结点没找到");
    	  }
    	  else {
    			  printf("找到了");
    			  
    			
    			  printf("%s
    ",p->name);
    			  printf("%s
    ",p->tel);
    			  printf("%s
    ",p->num);
    
    	  }
    
    	  
       }
    
    void main()
    {   char k;
    	struct node *head;
    	head=create();
    	printf("%d
    ",head);
    	printf("输入想要查找结点的序号");
    	scanf("%d",&k);
    	getelem(k);
    
    }
    

      其中结点序号的输入只能输入从一开始的整数,插入功能还没完成,敬请期待

     经验总结:1,结构体中的数组在输出时,无论是char [],int[] 还是double[]型都必须用printf("%s",p->char);输出 其中s代表string

  • 相关阅读:
    CollectionView网格布局
    UICollectionView基础/UICollectionViewCell的四种创建方式
    shiro
    jquery添加属性的方法
    ssm+activiti+maven
    Activiti流程定义部署方式
    00--工作流
    04--activiti demo
    02--Activiti初始化表
    01--安装Activiti流程设计器eclipse插件
  • 原文地址:https://www.cnblogs.com/switch-and-for/p/3387717.html
Copyright © 2011-2022 走看看