![](https://img-blog.csdnimg.cn/20201014180756757.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
考研
Kilorye
努力!
展开
-
C语言的一些笔记
考研准备的笔记 参考书目:C语言程序设计-谭浩强 P39 把双精度常量转换成float型会造成精度损失,编译程序时显示“警告”。 实型常量的指数形式应注意:e或E之前必须有数字,且e或E后面必须为整数。 P40 \o、\oo、\ooo 其中o代表一个八进制数字:八进制码对应的ASCII字符,输出与该八进制码对应的字符 \xh 其中h代表一个十六进制数字:十六进制码对应的ASCII字符,输出与该十六进制码对应的字符 P41 要区别符号常量和变量,符号常量不占内存,只是一个临时符号,代表一个值,在预编译后这个符原创 2021-11-09 14:27:38 · 643 阅读 · 0 评论 -
线性表:顺序表的基本操作
顺序表的基本操作 #include<stdio.h> #include<stdlib.h> #define MaxSize 10 //静态分配 typedef struct{ int data[MaxSize];//存放数据元素 int length;//顺序表当前长度 }SqList;//顺序表的类型定义 //基本操作——初始化一个顺序表 void InitList(SqList &L){ for(int i=0;i<MaxSize;i++){ L.原创 2021-09-07 21:19:35 · 396 阅读 · 0 评论 -
2路归并排序
归并排序 #include<stdio.h> #include<stdlib.h> int n; int *B=(int *)malloc(n*sizeof(int));//辅助数组B //A[low...mid]和A[mid+1...high]各自有序,将两个部分归并 void Merge(int A[],int low,int mid,int high){ int i,j,k; for(k=low;k<=high;k++){ B[k]=A原创 2021-09-07 17:57:21 · 64 阅读 · 0 评论 -
选择排序:堆排序
堆排序 #include<stdio.h> //交换 void swap(int &a,int &b){//注意带& int temp=a; a=b; b=temp; } //将以k为根的子树调整为大根堆 void HeadAdjust(int A[],int k,int len){ A[0]=A[k];//A[0]暂存子树的结点 for(int i=2*k;i<=len;i*=2){//沿key较大的子结点向下筛选 if(i<len&am原创 2021-09-07 17:56:25 · 104 阅读 · 0 评论 -
选择排序:简单选择排序
简单选择排序 #include<stdio.h> void swap(int &a,int &b){//注意带& int temp=a; a=b; b=temp; } void SelectSort(int A[],int n){ for(int i=0;i<n-1;i++){//一共进行n-1趟 int min=i;//记录最小元素位置 for(int j=i+1;j<n;j++){//在A[i...n-1]中选择最小的元素原创 2021-09-07 17:55:41 · 97 阅读 · 0 评论 -
交换排序:快速排序
快速排序 #include<stdio.h> //用第一个元素将待排序序列划分成左右两部分 int Partition(int A[],int low,int high){ int pivot=A[low];//第一个元素作为枢轴 while(low<high){//用low、high搜索枢轴的最终位置 while(low<high&&A[high]>=pivot) --high; A[low]=A[high];//比枢轴小的元素移到左端 whi原创 2021-09-07 17:54:45 · 225 阅读 · 0 评论 -
交换排序:冒泡排序
冒泡排序 #include<stdio.h> void swap(int &a,int &b){ int temp=a; a=b; b=temp; } void BubbleSort(int A[],int n){ bool flag; for(int i=0;i<n-1;i++){ flag=false;//表示本趟冒泡是否发生交换 for(int j=n-1;j>i;j--){//一趟冒泡过程 if(A[j-1]>A[j]){//原创 2021-09-07 17:53:50 · 36 阅读 · 0 评论 -
插入排序:希尔排序
希尔排序 #include<stdio.h> //希尔排序 void ShellSort(int A[],int n){ int j; //A[0]暂存单元,不是哨兵,当j<=0时,插入位置已到 for(int d=n/2;d>=1;d/=2){//步长变化 for(int i=d+1;i<=n;++i){ if(A[i]<A[i-d]){//需将A[i]插入有序增量子表 A[0]=A[i];//暂存在A[0] for(j=i-d;j原创 2021-09-07 17:52:17 · 34 阅读 · 0 评论 -
折半插入排序
折半插入排序 #include<stdio.h> #define MAXSIZE 20 typedef int ElemType; //折半插入排序 void InsertSort(ElemType A[], int n){ int low,high,mid; for(int i=2;i<=n;i++){ //依次将A[2]~A[n]插入前面的已排序序列 A[0]=A[i]; //将A[i]暂存到A[0] low=1; high=i-1; //折半查找的范围原创 2021-09-07 17:51:27 · 126 阅读 · 0 评论