| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 973 人关注过本帖
标题:指向指针的指针在链表的应用?
只看楼主 加入收藏
笨啊!
Rank: 1
等 级:新手上路
帖 子:4
专家分:0
注 册:2008-10-15
收藏
 问题点数:0 回复次数:0 
指向指针的指针在链表的应用?
这个程序在main 函数处有问题,主要是我搞不清指向指针的指针在链表中的用法,尤其在main函数中如何引用
#include "stdio.h"
#include<malloc.h>

typedef struct node {int data;
             struct node *link;
             }NODE;                            //构造自定义结点。

NODE *create_link_list(int n)                //创建为n长度新链表
{int i;
NODE *head,*p,*q;
if (n==0)return(NULL);

head=(NODE*)malloc(sizeof(NODE));
p=head;
printf("\nenter linklist data:\n");
for(i=1;i<n;i++)
 {scanf("%d",&(q->data));                
  q=(NODE*)malloc(sizeof(NODE));
  p->link=q;
  p=q;
 }
  scanf("%d",&(q->data));
  p->link=NULL;
  getchar();
  return(head);
}

int link_del(NODE **head,int i,int a)            //删除链表结点
{int j;
 NODE *p,*q,*b;
 q=*head;
 if(q==NULL)return(1);
 if(i==0&&a==0)                                    //删除头结点
   {q=*head;
    *head=q->link;
    //*head=b->link;
    free(q);
    //free(b);
    return(0);
   }
 j=0;p=*head;                                    //删除非头结点
 while(++j<i&&p!=NULL)
   p=p->link;
 if(i<0||j<i)return(1);
 else
  {q=p->link;
   //b=p->link;
   p->link=q->link;
   //p->link=b->link;
   free(q);
   //free(b);
   return(0);
  }
}


void main()
{ int i,n,a;
  NODE **start,*temp;
  //n=6;
  start=create_link_list(n);
  printf("\nenter delete NODE Num:\n");
  scanf("%d,%d",&i,&a);
  n=link_del(*start,i,a);

  temp=start;
  printf("\nresult:\n");

  while(temp->link!=NULL)
    {printf("%d  ",temp->data);
     temp=temp->link;
     }
     printf("%d  \n",temp->data);
     getch();
}
搜索更多相关主题的帖子: 链表 指针 应用 
2008-11-01 15:24
快速回复:指向指针的指针在链表的应用?
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.016024 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved