- 博客(32)
- 收藏
- 关注
原创 编程练习(C语言)之判断闰年
能被4整除但不能被100整除的为闰年能被400整除的为闰年#include <stdio.h> int main(){ int year; printf("输入年份: "); scanf("%d",&year); if(year%4 == 0) { if( year%100 == 0) {...
2020-03-20 22:01:48
812
原创 编程练习(C语言)之计算基本数据类型的空间大小
计算 int, float, double 和 char 字节大小#include <stdio.h> int main(){ int integerType; float floatType; double doubleType; char charType; // sizeof 操作符用于计算变量的字节大小 printf("Size of int:...
2020-03-20 21:45:47
866
原创 数据结构之线性表(顺序表与单链表的比较)
结构顺序表: 逻辑相邻物理上也相邻,通过相邻表示逻辑关系。单链表: 逻辑相邻物理上不一定相邻,通过指针表示逻辑关系。基本操作:删除&插入单链表为O(1)(节点指针已知);O(n)(节点指针未知),但操作时只需修改指针顺序表为O(n)且需要大量移动元素。查找按值查找中单链表和顺序表(无序)都为O(n)。按序号查找中单链表为O(n),顺序表为O(1)。内存空间...
2020-03-19 22:44:29
406
原创 数据结构之线性表(链式表示之循环链表和静态链表(数组表示))
循环链表的空表判断:循环单链表:L->next==L;循环双链表:L->next==L;L->prior==L;静态链表:用数组实现链式存储结构#define MaxSize 50typedef struct DNode{ ElemType data; int next; }SLinkList[MaxSize];...
2020-03-18 16:59:19
186
原创 数据结构之线性表(链式表示之双链表)
结构体定义:typedef struct DNode{ ElemType data; struct DNOde *prior,*next; }DNode,*DLinklist;基本操作:插入操作(无表尾):s为要插入的结点p为s插入后的前驱结点s->next=p->next;p->next->prior=s;s->prior=p;p-&g...
2020-03-18 16:43:29
156
原创 数据结构之线性表(链式表示之单链表)
定义: 线性表的链式存储又称单链表typedef struct LNode{ElemType data;struct LNode *next;}LNode,*LinkList;基本操作:头插法建立单链表:LinkList List_HeadInsert(LinkList &L){LNode *s;int x;L=(LinkList)malloc(sizeof(LNode)...
2020-03-17 23:29:51
323
原创 数据结构之线性表(顺序表示)
顺序表定义:线性表的顺序存储又称顺序表。一组地址连续存放的存储单元依次存放线性表的元素,从而使得逻辑上相邻的两个元素在物理位置上也相邻。(逻辑顺序与物理顺序相同)数组静态分配:#define MaxSize 50typedef struct{Elemtype data[MaxSize];int length;}SqList;数组动态分配:#define MaxSize 50ty...
2020-03-17 16:21:57
255
原创 数据结构之线性表(初识)
定义:线性表是具有相同类型的n(n>=0)个元素的有限序列,其中n为表长,当n=0时,该表为空表。若L命名为线性表,则一般表示为L=(a1,a2,…,ai,ai+1,…,an))特点:表中元素个数有限表中元素具有逻辑上的顺序性,在序列中各个元素排序有其先后次序表中元素是数据元素,每个元素都是单个元素表中元素的数据类型都相同,这意味着每个元素占有相同大小的存储空间表中元素具有抽...
2020-03-17 15:03:51
277
原创 数据结构之绪论
数据结构是一门研究非数值计算的程序设计问题中计算机的操作对象以及它们之间的关系和操作等的学科基本概念和术语数据:是对客观事物的符号表示,在计算机科学中是指所有能输入到计算机中并被计算机程序处理的符号的总称。数据元素:是数据的基本单位,在计算机程序中通常作为一个整体进行考虑和处理。数据项:一个数据元素可由若干个数据项组成,数据项是数据的不可分割的最小单位。数据对象:是性质相同的数据元素...
2020-03-16 17:38:18
223
原创 Python 环境搭建
Python 安装Linux 平台上安装 Python 的简单步骤:打开 WEB 浏览器访问https://www.python.org/downloads/source/选择适用 于Linux 的源码压缩包。下载及解压压缩包。如果你需要自定义一些选项修改Modules/Setup。执行 ./configure 脚本 。makemake install执行以上操作后,Pyt...
2020-03-14 14:47:27
155
原创 C语言编程练习之打印杨辉三角
题目:打印出杨辉三角形(20行)。代码实现:#include <stdio.h>int main(){ int i,j; int a[20][20]; printf("\n"); for(i=0;i<20;i++) { a[i][0]=1; a[i][i]=1; } for(i=2;i<...
2020-03-13 21:50:27
732
原创 C语言编程练习之删除字符串中的特殊字符(除字母外)
代码中fgets()库函数说明:C 库函数 char *fgets(char *str, int n, FILE *stream) 从指定的流 stream 读取一行,并把它存储在 str 所指向的字符串内。当读取 (n-1) 个字符时,或者读取到换行符时,或者到达文件末尾时,它会停止,具体视情况而定。下面是 fgets() 函数的声明:1char *fgets(char *str, ...
2020-03-13 20:59:18
5494
原创 C语言编程练习之二进制与八进制相互转换
二进制转换为八进制:思路:先将二进制转换为十进制(详细参考我的这篇博客 二、十进制相互转换),然后将十进制转换为八进制(这个我们很熟悉)。具体代码如下:#include <stdio.h>#include <math.h>int main(){ long long x; printf("输入一个二进制数: \n"); scanf("%l...
2020-03-13 19:48:33
5186
原创 C语言排序算法四
堆排序#include<stdio.h> HeapSort(int a[],int n){ int i,j,k,h; int t; for(i=n/2-1;i>=0;i--) //建堆 { while(2*i+1<n) //第i个结点有左子树 { j=2*i+1; if((j+1)<n) { if(...
2020-03-10 14:44:55
158
原创 C语言排序算法三
快速排序#include<stdio.h>void QuickSort(int *a,int left,int right){ int f,t; int rtemp,ltemp; ltemp=left; rtemp=right; f=a[(left+right)/2]; while(ltemp<rtemp) { while(a[ltemp]<f) ...
2020-03-10 14:28:59
153
原创 C语言排序算法二
C语言常用排序算法之选择排序选择排序算法#include<stdio.h>#define SIZE 10void SelectionSort(int *a,int len){ int i,j,k,temp,h; for(i=0;i<len-1;i++){ k=i; for(j=i+1;j<len;j++){ if(a[j]<a[k]) ...
2020-03-10 14:18:18
203
原创 C语言排序算法一
C语言常用排序算法之冒泡排序冒泡排序算法#include<stdio.h>#define SIZE 10void BubbleSort(int *a,int len){ int i,j,k,temp; for(i=0;i<len-1;i++) { for(j=0;j<len-1-i;j++) { if(a[j]>a[j+1]) { te...
2020-03-10 14:07:55
169
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人