结构专业怎样阅读地质勘察报告

2024-11-27

结构专业怎样阅读地质勘察报告(共1篇)

1.结构专业怎样阅读地质勘察报告 篇一

Practice Report for Data Structures and Algorithm Analysis

Data Structures Course Report

Candidate:

吴泽光

Student Number: 20121001873 Major :

Communication Engineering Supervisor :

Wu rangzhong

China University of Geosciences(Wuhan)Wuhan, Hubei 430074, P.R.China

October 18, 2012

China University of Geosciences, Faculty of Mechanics and Electronic Information

一、线性表(用链表实现):

1、目的:

通过程序的运用,使得线性表的插入、删除等功能更加容易实现,节约了时间和精力。

2、程序说明:

typedef struct LNode * LinkList;typedef int Status;struct LNode { int data;struct LNode * next;};void Insert(LinkList &L,int i,int b);void Delete(LinkList &L,int i);int Length(LinkList &L);void Print_LinkList(LinkList &L);插入函数:

void Insert(LinkList &L,int i,int x){ LinkList p, q;p=L;q=(LinkList)malloc(sizeof(LNode));q->data=x;if(i==1){

q->next=p;L=q;} else

定义结构体。插入函数。删除函数。输出长度。输出线性表内容。

} {

} while(--i>1)p=p->next;q->next=p->next;p->next=q;

3、运行过程:

二、堆栈和队列

1、目的:

通过程序的运用,使得队列的插入、删除等功能更加容易实现,节约了时间和精力。

2、程序说明:

struct My_Queue {

int Element[MaxLength];int Length;int head;int rear;};定义结构体。int Head_Queue(My_Queue &Que);功能:返回队列头结点的值

参数:Que,引用类型,指向队列的头。

void Print_Queue(My_Queue &Que);输出队列的内容。void In_Queue(My_Queue &Que,int Element);输入队列。void Out_Queue(My_Queue &Que, int &Element);输出队列。主函数: void main(){

} My_Queue My_Fst_Que;My_Fst_Que.Length = 0;int data = 0;My_Fst_Que.head = My_Fst_Que.rear =0;Input_Queue(My_Fst_Que, 2);Print_Queue(My_Fst_Que);Input_Queue(My_Fst_Que, 4);Print_Queue(My_Fst_Que);Input_Queue(My_Fst_Que, 6);Print_Queue(My_Fst_Que);Input_Queue(My_Fst_Que, 8);Print_Queue(My_Fst_Que);Input_Queue(My_Fst_Que, 10);Print_Queue(My_Fst_Que);

Out_Queue(My_Fst_Que, data);Print_Queue(My_Fst_Que);Out_Queue(My_Fst_Que, data);Print_Queue(My_Fst_Que);Out_Queue(My_Fst_Que, data);Print_Queue(My_Fst_Que);Out_Queue(My_Fst_Que, data);data = Head_Queue(My_Fst_Que);Print_Queue(My_Fst_Que);

3、运行过程:

三、字符串的模式匹配

1、目的:

输入目标串和模式串,运用KMP算法判断是否匹配。

2、程序说明:

typedef struct String String_KMP;struct String { char * data;int length;};定义结构体。

int KMPMatch(String_KMP &s, String_KMP &t , int next[]);功能:用于检测返回值情况。主函数: void main(){

String_KMP s, p1;int *next_KMP, position=0;p1.data = “&&aaaaa”;

} p1.length = strlen(p1.data);s.data =“&&&aaaaabaabcwwww”;s.length = strlen(s.data);next_KMP=(int *)malloc(sizeof(int)* strlen(p1.data));next(p1, next_KMP);position = KMPMatch(s, p1 , next_KMP);if(position == 0)printf(“No match!n”);else printf(“The match position is %dn”, position);

3、运行过程:

1、匹配成功:

2、不能匹配:

四、稀疏矩阵(表示转置和乘法)

1、目的:

通过对矩阵的基本操作,了解多维数组的逻辑结构和存储结构。本程序是用三元数组表示矩阵,并进行相关的操作,将矩阵表示出来,以及快速转置的应用。

2、程序说明:

typedef struct { Triple data[MAXSIZE+1];int mu,nu,tu;} TSMatrix;

int InputMatrix(TSMatrix &M);void PrintM(TSMatrix M);void PrintM3(TSMatrix M);void trantup(TSMatrix M, TSMatrix &T);主函数: void main(){

} int a;TSMatrix M,T;a=InputMatrix(M);printf(“n按三元组方式输出:n”);PrintM3(M);printf(“n下面进行矩阵转置的操作:n”);system(“PAUSE”);system(“cls”);printf(“n要转置的矩阵为:n”);PrintM(M);trantup(M,T);printf(“n转置后的矩阵为:n”);PrintM(T);

3、运行过程:

五 AVL树实现

1、目的:

通过程序的运用,使得树的相关功能更加容易实现,节约了时间和精力。

2、程序说明:

求根深度的实现所用到的:

Status InitBiTree(SqBiTree T);Status CreateBiTree(SqBiTree T);Status BiTreeEmpty(SqBiTree T);int BiTreeDepth(SqBiTree T);Status Root(SqBiTree T,TElemType *e);

3、运行过程:

六、图的实现:

1、目的:

通过程序的运用,使得图的有关功能更加容易实现,节约了时间和精力。

2、程序说明:

实现图的输出和遍历用到的: void CreateGraph(Graph *ga);void DFS(Graph g,int i,bool visited[]);void DFSTraverse(Graph g);void BFSTraverse(Graph g,Queue *que);

3、运行过程:

七、排序(希尔排序与归并排序):

1、目的:

通过程序的运用,使得数据的排序更加容易实现,节约了时间和精力。

2、程序说明:

1)希尔排序的具体实现: void ShellSort(RecType R[],int n){ int i,j,gap,k;RecType tmp;gap=n/2;while(gap>0){ for(i=gap;i

{ tmp=R[i];

j=i-gap;

while(j>=0 && tmp.key

{ R[j+gap]=R[j];

j=j-gap;}

R[j+gap]=tmp;

j=j-gap;}

printf(“gap=%d:”,gap);

for(k=0;k

printf(“%d ”,R[k].key);printf(“n”);gap=gap/2;} } 2)归并排序:

归并排序的实现所用到的:

int randGenerator(double vArray[],int n);int Merge(double vArray[],double Lr[],int i,int m,int n);int Msort(double vArray[],double Lr[],int s,int t);

3、运行过程:

总结

通过本次的实习,使我掌握了模块化设计方法,理解和运用结构化程序设计的思想和方法。提高了利用C语言进行程序设计能力。

第一次设计这么多程序,感觉压力很大,很难完成,虽然看起来设计流程感觉很轻松,但是正真完成的时候并不能通过程序表达出来。通过同学和老师的帮助最终还是完成了自己的程序设计,虽然程序还不是很完美,但能满足题目的各项要求,相信以后再次进行程序设计的时候会得心应手。

上一篇:四议二公开文件下一篇:2015苏教版三年级数学下册教案-小数的初步认识