数据结构与数据库实验(数据结构部分)——实验4 排序的编程与实现
一、实验目的掌握常用的排序方法,并掌握C语言实现排序算法的方法;了解各种排序方法过程及依据原则,并掌握各种排序方法的时间复杂度和稳定性的分析方法。
二、实验原理参照课本p.220, Figure7.2;p.223,Figure7.4;p.228,Figure7.8;p.232-233, Figure7.9-7.10; p240-243, Figure 7.12-7.15.
三、实验内容统计成绩
【问题描述】
给出n个学生的考试成绩表,每条信息由姓名和分数组成,利用排序算法完成以下任务:
① 按照分数高低次序,打印出每个学生在考试中获得的名次,分数相同的为同一名次。
②按照名次列出每个学生的姓名和分数。
【要求】学生的考试成绩需要从键盘输入数据建立,同时要设计输出格式。
四、实验要求能够采用常用的排序算法中的一种实现以上两个任务;
五、实验源程序SortScore.h 头文件
1234567891011121314#ifndef _SortScore_Hstruct StudentScore;typedef struct StudentScore *StudentList;typedef ...
数据结构与数据库实验(数据结构部分)——实验3 二叉树的编程与实现
一、实验目的掌握指针变量、动态变量的含义,掌握二叉树的结构特征,以及各种存储结构的特点及适用范围,掌握指针类型描述、访问和处理二叉树的运算;
二、实验原理参照课本p.95-107, Figure4.13-4.25;
三、实验内容已知以二叉树表作为存储结构,写出按层次顺序遍历二叉树的算法
算法思想:本算法采用一个队列q,先将二叉树根节点入队列,然后退队列,输出该节点,若它有左子树,便将左子树根节点入队列;若有右子树,便将右子树根节点入队列,直到队列空为止。因为队列的特点是先进先出,从而达到按层次顺序遍历二叉树的目的。
四、实验要求实现二叉树表的层次遍历算法,并给出应用。
五、实验源程序Binary.h 头文件
123456789101112131415161718192021222324252627#ifndef _BinaryTree_Hstruct TreeNode;typedef struct TreeNode *Position;typedef struct TreeNode *Root;struct Queue;typedef struct Queue *QueueNode;/ ...
数据结构与数据库实验(数据结构部分)——实验2 ADT栈与队列的编程与实现
一、实验目的加深对抽象数据类型ADT栈和队列的理解;
二、实验原理参照课本p.64-66,及Figure3.39-3.44;
课本p.82-83,及Figure3.57-3.60.
三、实验内容编写程序实现ADT栈的定义,及常用操作(数组或指针实现):
生成栈;
Push
Pop
编写程序实现ADT队列的定义,及常用操作:
生成队列;
Enqueues入列;
IsEmpty判断是否队列为空。
四、实验要求
实现ADT栈的结构及操作;
实现ADT队列的结构及操作,并给出应用。
五、实验源程序
ADT栈实验代码
ADTStack.h 头文件
123456789101112#ifndef _ADTStack_Hstruct Node;typedef struct Node *PtyToNode;typedef PtyToNode Stack;Stack CreatStack(); /*创建栈*/void PushStack(int X, Stack S); /*入栈*/void PopStack(Stack S); /*出栈*/int GetTop(Stack S); /* ...
数据结构与数据库实验(数据结构部分)——实验1 ADT表的编程与实现
一、实验目的加深对抽象数据类型ADT表的理解
二、实验原理参照课本p.44-49,及Figure3.6-3.13.
三、实验内容编写程序实现ADT表的定义,及常用操作:
判断表是否为空;
获取第i个节点的内容
删除
插入
四、实验要求
复习C语言相关知识;
实现完整的ADT表结构及操作,并给出应用。
五、实验源程序ADTList.h 头文件
1234567891011121314151617181920#ifndef _ADTList_Hstruct Node;#ifndef _ADTList_Hstruct Node;typedef struct Node* PtrToNode; //将Node结构体首地址定义为PtrToNodetypedef PtrToNode List; //链表首节点地址typedef PtrToNode Position; //当前位置地址List MakeEmpty(); //创建链表头结点int IsEmpty(); //测试一个链表是否为空链表int IsLast(Position P); ...
Git学习
Git下载Git官网下载地址:https://git-scm.com/download
Git配置查看配置git config -l查看系统配置git config --system -l#在安装目录的etc文件目录下查看全局配置#在C盘的用户目录下git config --global --list用户配置git config --global user.name "username" #名称 git config --global user.email "xxxxxxxxx@qq.com" #邮箱
初始化仓库
1git init
克隆仓库
12#克隆一个项目和它的整个代码历史(版本信息)git clone [url]
Git文件操作
文件的4种状态
版本控制就是对文件的版本控制,要对文件进行修改,提交等操作,首先要知道文件当前在什么状态,不然可能会提交了现在还不想提交的文件,或者提交了的文件没提交上。
Untracked:未跟踪,此文件在文件夹中,但并没有加入到git仓库,不参与版本控制,通过 git add 状态变 ...
数据结构与数据库实验(数据库部分)
DB5
安装好SQL Server和SSMS后打开SSMS并连接SQL Server服务器:
创建数据库
配置如下:
删除数据库
右键数据库点击删除:
删除数据库成功
DB6
新建查询
SQL语句创建数据库
创建userdb1数据库:
1create database userdb1on(name='userdb4_data',/*数据文件的逻辑名称,注意不能与日志逻辑同名*/filename='f:\sql_data\userdb4.mdf' ,/*物理名称,注意路径必须存在*/size=5,/*数据初始长度为M*/maxsize=10,/*最大长度为M*/filegrowth=1)/*数据文件每次增长M*/log on(name=userdb4_log,filename='f:\sql_data\userdb4.ldf ',size=2 ,maxsize=5 ,filegrowth=1)go
执行结果:
userdb1创建成功!
创建University数据库:
1create dat ...
DSP实验
实验一 基本操作
按照CCS帮助中Tutorial的操作步骤,实现建立工程、编写代码、查看变量、调试程序、文件输入、结果分析的步骤。
实验二 C语言实验
利用MATLAB的滤波器设计软件,生成低通滤波器、高通滤波器,分别给出滤波器系数。
利用MATLAB产生由不同的正弦波合成的波形文件,送入CCS。
编写C程序,分别实现低通、高通滤波,用CCS画出波形,给出结果分析。
利用编译器的op选项,对实验二的C语言程序按照级别进行优化,给出耗时的变化的分析。
应用CCS的内联函数实现低通、高通滤波,与步骤1中的耗时进行比较。
低通利用matlab生成FIR滤波器系数,FIR滤波器配置如下:
lpf.h
123456#include "tmwtypes.h"const int BL = 17;const int16_T B[17] = { 37, 132, 62, -525, -1204, -255, 3642, 8839, 11307, 8839, 3642, -255, -1204, - ...
C# + Socket实现公网聊天(C#大作业)
[toc]
简述关于Socket的原理我就不在这里赘述了,有大佬已经作详细的说明了:
Socket原理讲解
因为网上大多介绍的是在一台PC端使用虚拟服务器和本机进行通信,本质还是内网通信。
这里要介绍的是怎么用Socket进行公网通信,也就是在不同的局域网之间通信。其实代码实现和内网通信大差不差,重点区别在于创建监听Socket时,绑定或连接的IP的正确性显得尤为重要,一旦设置错误,连接就会失败!
在这里先简单讲一下计网知识,对于服务器来说,在它和同一内网的设备看来,它的IP是内网IP;对于处在不同局域网的设备看来,它的IP是公网IP。
因此,
服务器端:因为是要放到服务器上的,创建监听Socket用的IP为服务器自身的内网IP。
客户端:用Socket连接时,要连接服务器端的公网IP。
接下来我们直接上结果展示和代码吧!
功能演示视频(b站)C#+Socket 聊天室(公网通信 客户端-服务器端-客户端)
准备工作
一台云服务器(推荐阿里云、腾讯云等大厂的,轻量最低配即可),windows系统的,安全组设置开放如下端口:
说明:
服务器安全组放通3389端口,才能进行远程登录。
...
数据库大作业 - 日常记账系统
功能演示视频b展示视频: 数据库大作业—日常记账系统(C# winform + SQL Server).
SQL代码1234567891011121314151617181920212223USE ApplicationDROP TABLE IF EXISTS UserData; /*用户信息*/DROP TABLE IF EXISTs Account; /*用户账本数据*/CREATE TABLE UserData(ID NCHAR(10) PRIMARY KEY, /*用户ID*/UserPassword NCHAR(32), /*用户密码*/UserMail NCHAR(30), /*用户邮箱*/UserPhoto image, /*用户照片*/UserName NCHAR(30), /*用户名*/);CREATE TABLE Account(UserID NCHAR(10),InOrOut NCHAR(10),ConsumeType NCHAR(10),Price ...