⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 slnode.h

📁 《数据结构-使用C语言》第三版
💻 H
字号:
typedef struct  Node
{
    DataType  data;
    DataType d;
    struct Node *next;
}SLNode;

void ListInitiate(SLNode **head)
{
	if((*head=(SLNode*)malloc(sizeof(SLNode)))==NULL) return;
    (*head)->next=NULL;
}
int ListLength(SLNode *head)
{     
    SLNode *q=head;
     
    int size=0;
    while(q->next!=NULL)
    {
		q=q->next;  
        size++;
    }
    
    return size;
}
      
int ListInsert(SLNode *head,int i,DataType x)
{     //0<=i<=n;   size=lenth=n;
    SLNode *p,*q;
	int j;
	
    p=head;
    j=-1;
	
	while(p->next!=NULL&&j<i-1)
    {//最终让指针p指向第i-1个结点 
        p=p->next;
        j++;
    }
    if(j!=i-1)
    {
        printf("插入位置有误!\n");
        return 0;
    }
    if((q=(SLNode*)malloc(sizeof(SLNode)))==NULL)
    return 0;
    q->data=x;
    q->next=p->next;
    p->next=q;
    return 1;
}
 
  
int  ListDelete(SLNode *head,int i,DataType *x)
{
    SLNode  *p,*q;
    int j;
      
    p=head;
    j=-1;
      
    while(p->next!=NULL&&p->next->next!=NULL&&j<i-1)
    {
        p=p->next;
        j++;
    }
    if(j!=i-1)
    {
        printf("删除位置有误\n");                                                    
        return 0;
    }
    else
	{
        q=p->next;
        p->next= p->next->next;
        *x=q->data;
        free(q);
        
        return 1;
    }
}

int ListGet(SLNode *head,int i,DataType *x)
{   
    SLNode *p;
    int j;
    
    p=head;
    j=-1;
    
    while(p->next!=NULL&&j<i)
    {
        p=p->next;
        j++;
    }
    if(j!=i)
    {
    printf("取元素位置出错\n");
    return 0;
    }
    
    *x=p->data;
    return 1;
       
}

void ListDestory(SLNode **head)
{
   	SLNode *p,*q;
    p=*head;
    while(p!=NULL)
    {
        q=p;
    	p=p->next;
        free(q);
   	}
   	*head=NULL;   //撤消后头指针还要置空 
}                                          
                  
                  
                  
                  
                  
                  
                  
                  
                  
                  
                  
                  
                  
                  
                  
                  
                  
                  
                  
                  
                  
                  
                  
                  
                  
                  
                  
                  
                  
                  
                  
                  
                  
                  
                  
                  
                  
                  
                  
                  
                  
                  
                  
                  
                  
                  
                  
                  
                  
                  
                  
                  
                  
                  
                  
                  
                  
                  
                  
                  
                  
                  
                  
                  
                  
                  
                  
                  
                  
                  
                  
                  
                  
                  
                  
                  
                  
                  
                  
                  
                  
                  
                  
                  
                  
                  
                  
                  
                  
                  
                  
                  
                  
                  
                  
                  
                  
                  
                  
                  
                  
                  
                  
                  
                  
                  
                  
                  
                  
                  
                  
                  
                  
                  
                  
                  
                  
                  
                  
                  
                  
                  
                  
                  
                  
                  
                  
                  
                  
                  
                  
                  
                  
                  
                  
                  
                  
                  
                  
                  
                  
                  
                  
                  
                  
                  
                  
                  
                  
                  
                  
                  
                  
                  
                  
                  
                  
                  
                  
                  
                  
                  
                  
                  
                  
                  
                  
                  
                  
                  
                  
                  
                  
                  
                  
                  
                  
                  
                  
                  
                  
                  
                  
                  
                  
                  
                  
                  
                  
                  
                  

    

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -