首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C语言 >

不知道怎么查程序哪里重复定义,希望大家能够指点一下

2013-11-25 
不知道如何查程序哪里重复定义,希望大家能够指点一下。#includestdio.h#includemath.h#includetime.h

不知道如何查程序哪里重复定义,希望大家能够指点一下。
#include"stdio.h"
#include"math.h"
#include"time.h"
#include"stdlib.h"
#include"ctype.h"
#include"string.h"
#include"io.h"

#define OK 1
#define ERROR 0
#define TRUE 1
#define FLASE 0

#define MAXSIZE 20

typedef int Status;
typedef int ElemType;

//单链表存储结构
typedef struct LNode{
ElemType data;
struct LNode *next;
}LNode,*LinkList;

Status visit(ElemType c)
{
printf("%d",c);
return OK;
}

Status InitList(LinkList *L)
{
*L=(LinkList)malloc(sizeof(LNode));
if(!(*L))
return ERROR;
(*L)->next=NULL;
return OK;
}//链表初始化

Status ListEmpty(LinkList L)
{
if(L->next)
return FLASE;
else 
return TRUE;
}//链表L已存在,检测链表是否为空表

Status ClearList(LinkList *L)
{
LinkList p,q;
p=(*L)->next;
    if(p)
{
q=p->next;
free(p);
p=q;
}
(*L)->next=NULL;
return OK;
}//将L重置为空表

int ListLength(LinkList L)
{
int i=0;
LinkList p=L->next;
if(L->next)
{
i++;
p=p->next;
}
return i;
}//返回L中元素的个数

Status GetElem(LinkList L,int i,ElemType *e)
{
int k;
LinkList p;
p=L->next;
for(k=0;k<=i;k++)
{
p=p->next;
}
if(!p||k>i)
return ERROR;
*e=p->data;
return OK;
}//用e返回L中第i个元素的值

int LocateElem(LinkList L,ElemType e)
{
int k;
LinkList p;
p=L->next;
for(k=0;k<=ListLength(L);k++)
{
if(p->data==e)
break;
else 
p=p->next;
}
e=p->data;
return OK;
}//检测L中与e相等的元素

Status ListInsert(LinkList L,int i,ElemType e)
{
int k;
LinkList p,s;
p=L->next;
for(k=0;k<=i;k++)
{
p=p->next;
}
if(k>i||!p)
return ERROR;
s=(LinkList)malloc(sizeof(LNode));
s->data=e;
s->next=p->next;
p->next=s;
return OK;
}//在L中第i个元素之前插入e

Status ListDelete(LinkList L,int i, ElemType *e)
{
int k;
LinkList p,s;
p=L->next;
for(k=0;k<=i;k++)
{
p=p->next;
}
if(k>i||p->next)
return ERROR;
s=p->next;
p->next=s->next;
*e=s->data;
free(s);
return OK;
}//删除第i个元素,并用e返回其值

Status ListTraverse(LinkList L)
{
LinkList p=L->next;
while(p)
{
visit(p->data);
p=p->next;
}
return OK;
}//输出L中的全部元素

void CreateListHead(LinkList *L,int n)
{
LinkList p;
int i;
srand(time(0)); 
*L=(LinkList)malloc(sizeof(LNode));
(*L)->next=NULL;
for(i=0;i<n;i++)
{
p=(LinkList)malloc(sizeof(LNode));
p->data = rand()%100+1;  
p->next=(*L)->next;
(*L)->next=p;
}
}//  随机产生n个元素的值,建立带表头结点的单链线性表L(头插法)

void CreateListTail(LinkList *L,int n)
{
LinkList p,r;
int i;
srand(time(0));
*L=(LinkList)malloc(sizeof(LNode));
r=*L;
for(i=0;i<n;i++)
{
p=(LNode*)malloc(sizeof(LNode));
p->data = rand()%100+1; 
r->next=p;
r=p;
}
r->next=NULL;
} //随机产生n个元素的值,建立带表头结点的单链线性表L(尾插法)

void main()
{
LinkList L;
    Status i;
    int j;
    i=InitList(&L);
    printf("初始化L后:ListLength(L)=%d\n",ListLength(L));
    for(j=1;j<=5;j++)
            i=ListInsert(L,1,j);
    printf("在L的表头依次插入1~5后:L.data=");
    ListTraverse(L); 
}





大概就是这个样子


1>  ConnectTest.vcxproj -> D:\Personal\Administrator\桌面\新建文件夹 (2)\ConnectTest\Debug\ConnectTest.exe
1>FinalizeBuildStatus:
1>  Deleting file "Debug\ConnectTest.unsuccessfulbuild".
1>  Touching "Debug\ConnectTest.lastbuildstate".
1>
1>Build succeeded.
1>
1>Time Elapsed 00:00:02.49


========== Rebuild All: 1 succeeded, 0 failed, 0 skipped ==========



这是我编译的结果  编译成功
[解决办法]
不知道怎么查程序哪里重复定义,希望大家能够指点一下

热点排行