数据结构C语言编程

Python017

数据结构C语言编程,第1张

#include "stdio.h"

#include <stdlib.h>

#include "time.h"

int main(int argv,char *argc[]){

double x[10]={0.0,}

int i

srand((unsigned)time(NULL))

while(rand()%10000!=0){//

for(i=0i<9x[i++]=x[i+1])

x[9]=rand()/32767.0*100000//模拟采集数据

}

for(i=0i<10printf("%10.3f\n",x[i++]))//输出最后10个数

return 0

}

运行样例:

下面的这个程序不是很完整的,因为集合c没有删除ab中相同的数,还有下面的这个程序你要建在文件里才没有错误,建源文件时,要表明是.c文件,在运行时,你要注意输入的方式,如果你有问题再问好了

#include<stdio.h>

#include<stdlib.h>

#define

MAX

256

//typedef

int

List[MAX]

typedef

int

ElemType

typedef

int

Status

#define

OVERFLOW

-1

#define

OK

1

#define

LIST_INIT_SIZE

80

#define

LISTINCREMENT

10

typedef

struct

{

ElemType

*elem

int

length

int

listsize

}

SqList

typedef

SqList

List

Status

InitList_Sq(

SqList*

L

)

{

(*L).elem

=

(ElemType*)

malloc

(LIST_INIT_SIZE*sizeof

(ElemType))

if

(!(*L).elem)

exit

(OVERFLOW)

(*L).length

=

0

(*L).listsize

=

LIST_INIT_SIZE

return

OK

}

void

main()

{

int

ListLength(List

Lx)

void

GetElem(List

Lx,int

i,ElemType

*xi)

Status

InitList_Sq(

SqList*

L

)

void

ListInsert(List

*Lc,int

k,ElemType

e)

void

MergeList(List

La,List

Lb)

void

printElem(List

Lx)

List

La,Lb

int

i

InitList_Sq(&La

)

InitList_Sq(&Lb

)

printf("pls

input

length

of

La

,Lb\n")

scanf("%d,%d",&La.length,&Lb.length)

printf("intiating

La....\n")

for(i=1i<=La.lengthi++)

scanf("%d",&La.elem[i])

printf("intiating

Lb....\n")

for(i=1i<=Lb.lengthi++)

scanf("%d",&Lb.elem[i])

printf("values

of

La

are:\n")

printElem(La)

printf("values

of

Lb

are:\n")

printElem(Lb)

printf("starting

union...\n")

MergeList(La,Lb)

}

void

MergeList(List

La,List

Lb)

{

List

Lc

int

i,j,k

ElemType

ai,bj

int

La_len=0,Lb_len=0

i=j=1k=0

InitList_Sq(&Lc

)

La_len=ListLength(La)Lb_len=ListLength(Lb)

while((i<=La_len)&&(j<=Lb_len))

{

GetElem(La,i,&ai)

GetElem(Lb,j,&bj)

if(ai<=bj)

{ListInsert(&Lc,++k,ai)++i}

else

{ListInsert(&Lc,++k,bj)++j}

}

while(i<=La_len)

{

GetElem(La,i++,&ai)ListInsert(&Lc,++k,ai)

}

while(j<=Lb_len)

{

GetElem(Lb,j++,&bj)ListInsert(&Lc,++k,bj)

}

Lc.length=k

printf("values

of

Lc

after

union:\n")

printElem(Lc)

}

void

printElem(List

Lx)

{

int

i

for(i=1i<=Lx.lengthi++)

{

printf("%5d",Lx.elem[i])

if(0==i%5)

printf("\n")

}

printf("\n")

}

void

GetElem(List

Lx,int

i,ElemType

*xi)

{

if(i>0

&&

i<=Lx.length)

*xi=Lx.elem[i]

//

printf("current

value

get:

%d\n",Lx[i])

//

printf("current

value

get:

%d\n",xi[i])

}

int

ListLength(List

Lx)

{

return

Lx.length//

}

void

ListInsert(List

*Lc,int

k,ElemType

e)

{

(*Lc).elem[k]=e

//printf("insert

success

to

e=%d\n",e)

}