码迷,mamicode.com
首页 > 编程语言 > 详细

单链表 C语言实现 心得1

时间:2014-11-09 17:59:07      阅读:223      评论:0      收藏:0      [点我收藏+]

标签:style   io   color   ar   使用   sp   for   数据   bs   

#include <stdio.h>
#include <stdlib.h>
#include <windows.h>
#include <malloc.h>
#include "math.h"


typedef struct LNode
{
int data;
struct LNode * next; //指向下一个结点的指针
}LNode;


typedef struct LNode* LinkList;

 


void InitList(LinkList L)
{
L=(LinkList)malloc(sizeof(LNode));
if(!L)
exit(OVERFLOW);
L->next=NULL;
}
void LinkInsert(LinkList L,int i,int e)
{
int j=0;
LinkList p=L,s;
while (p&&j<i-1)
{
p=p->next;
j++;
}
if (!p||j>i-1)
{
return ;
}
s=(LinkList)malloc(sizeof(LNode));
s->data=e;
s->next=p->next;
p->next=s;
return ;
}
void ListTraverse(LinkList L)
{
LinkList p=L->next;
while (p)
{
printf("%d",p->data);
p=p->next;
}
}
void CreateList(LinkList L,int n)
{
int i;
LinkList p;
//L=(LinkList)malloc(sizeof(LNode));
//if(!L)
// exit(OVERFLOW);
//L->next=NULL;
printf("输入%d个数据\n",n);
for(i=n;i>0;--i)
{
p=(LinkList)malloc(sizeof(LNode));
scanf("%d",p->data);
p->next=L->next;
L->next=p;
}

}

void main()
{
LinkList La;
int num, aa;
int j,a[4]={3,5,7,9};
La=(LinkList)malloc(sizeof(LNode));
La->next=NULL;   // 使用La 链表时必须对它进行初始化给它一个初始地址,否则会报错  Run-Time Check Failure #3 - The variable ‘La‘ is being used without being initialized.
for ( j = 1; j <5; ++j)
{
LinkInsert(La,j,a[j-1]);
}
for ( aa = 0; aa < 5;aa++)
{
printf("输入5整数");
scanf("%d",&num);
LinkInsert(La,2,num);
}

ListTraverse(La);
system("pause");//这个可以解决在vs2012上运行程序结果不会闪一下然后消失
}

 

单链表 C语言实现 心得1

标签:style   io   color   ar   使用   sp   for   数据   bs   

原文地址:http://www.cnblogs.com/lxclqy/p/4085574.html

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