码迷,mamicode.com
首页 > 其他好文 > 详细

单链表的基本操作

时间:2015-12-10 21:56:19      阅读:145      评论:0      收藏:0      [点我收藏+]

标签:

直接上代码

#include<stdio.h>
#include<stdlib.h>
//结构定义 
typedef struct node{
    int data;    //数据域 
    struct node *next;    //指针域 
}LinkList;
//创建单链表 
void CreateLinkList(LinkList *L){
    L->next = NULL;
}
//尾插法
void Insert_Tail(LinkList *L,int x){
    LinkList *p;
    p = (LinkList *)malloc(sizeof(LinkList));
    p->data = x;
    p->next = NULL;
    //查找尾节点 
    while(L->next!=NULL){
        L = L->next;
    }
    L->next = p;
} 
//头插法
void Insert_Head(LinkList *L,int x){
    LinkList *p;
    p = (LinkList *)malloc(sizeof(LinkList));
    p->data = x;
    p->next = L->next;
    L->next = p;
} 
//随机插入
void Insert_Random(LinkList *L,int n,int x){
    LinkList *p,*t;
    int i=1;
    t = L;
    p = (LinkList *)malloc(sizeof(LinkList));
    p->data = x;    
    while(t&&i<n){
        i++;
        t = t->next;
    }
    if(!p||i>n){
        return ;
    }
    p->next = t->next;
    t->next = p;
} 
//删除
void DeleteLinkList(LinkList *L,int n){
    LinkList *p,*q;
    int i;
    i = 1;
    p = L;
    while(i<n&&(p->next)){
        p = p->next;
        i++; 
    }
    if(!(p->next)||i>n){
        return ;
    }
    q = p->next;
    p->next = q->next;
    free(q);
} 
//打印
void DisplayLinkList(LinkList *L){
    LinkList *p;
    p = L->next;
    while(p!=NULL){
        printf("%d ",p->data);
        p = p->next;
    }
    printf("\n"); 
} 
int main(void){
    LinkList L;
    int i;
    CreateLinkList(&L);
    
    printf("链头插入:");
    for(i=1;i<=10;i++){
        Insert_Head(&L,i);
    }     
    DisplayLinkList(&L);
    
    
    printf("链尾插入:");
    for(i=1;i<=10;i++){
        Insert_Tail(&L,i);
    }     
    DisplayLinkList(&L);
    
    Insert_Random(&L,11,78);
    printf("插入后:");
    DisplayLinkList(&L);
    
    DeleteLinkList(&L,5);
    printf("删除后:");
    DisplayLinkList(&L);    
    return 0;    
}

 

单链表的基本操作

标签:

原文地址:http://www.cnblogs.com/tanxing/p/5037305.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!