![](https://img-blog.csdnimg.cn/20201014180756923.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
c语言
FAN_1999
这个作者很懒,什么都没留下…
展开
-
三、堆栈和队列
1.堆栈 2.队列 2.1顺序循环队列 1.结构体定义 typedef struct { ElemType queue[MaxSize]; int rear;//队尾下标 int front;//队头下标 int count;//计数器 }SeqCQueue; 2.初始化 void QueueInit(SeqCQueue* Q) { //初始化,也即删除所有元素 Q->rear = 0; Q->front = 0; Q->count = 0; }//QueueInit原创 2021-01-11 12:12:36 · 70 阅读 · 0 评论 -
其他
1.if语句 k = (i > j) ? m : n; 等价于 if (i > j) { k = m; }//if else { k = n; }//else 综合: int i = 1, j = 2, k, m = 0, n = 1; k = (i > j) ? m : n; /*if (i > j) { k = m; }//if else { k = n; }//else*/ printf("k=%d",k); ...原创 2020-12-19 17:38:24 · 61 阅读 · 1 评论 -
指针
1.* 2.&原创 2020-12-14 22:50:18 · 69 阅读 · 0 评论 -
线性表
1.顺序表示 2.链式表示 2.1单链表 2.2双链表 2.3循环链表 3.二者区别 3.1存取方式 3.2逻辑和物理结构 3.3查找、插入和删除操作 3.4空间分配原创 2020-12-14 22:33:41 · 196 阅读 · 0 评论 -
算法思想
备注:只是核心思想,在此基础上可以拓展出更过内容 1.元素逆置 /*设计思想:通过循环,将首尾元素对调,并返回新顺序表 **/ ElemType temp; int i; for (i = 0;i < L->length / 2;i++){ temp = L->data[(L->length - 1) - i]; L->data[(L->length - 1) - i] = L->data[i]; L->data[i] = temp;原创 2020-12-13 11:42:30 · 57 阅读 · 0 评论 -
i++与++i的区别
1.i++ 先赋值,再加一,此时i为0 2.++i 先加一,再赋值,此时i为1 例如: int array[3] = { 1,2,3 }; int i = 0 printf("array[i++] = %d\n",array[i++]); i = 0; printf("array[++i] = %d\n", array[++i]); 结果为:原创 2020-12-12 20:31:00 · 135 阅读 · 0 评论 -
结构体
1.定义结构体 //线性表数组静态分配 typedef struct { ElemType data[MaxSize];//顺序表 元素 int length;//顺序表的当前长度 }SqList;//顺序,表的类型定义 //线性表数组动态分配 typedef struct { ElemType* data;//指示动态分配数组的指针 int MaxSize2, length; //数组的最大容量和当前个数 }SeqList;//动态分配数组顺序衰的类型定义 2.赋初值 SqList L = {原创 2020-12-11 14:25:28 · 182 阅读 · 0 评论 -
数组
1.静态数组 2.动态数组原创 2020-12-08 14:47:19 · 65 阅读 · 0 评论 -
进制转换
#include<stdio.h> #include<string.h> void main(){ char res[32]; int i, n,r; printf("enter intger n and base r:"); scanf("%d%d", &n, &r); trans10_to_r(res, n, r); printf("result is : "); for (i = strlen(res) - 1; i >= 0; i--){/原创 2020-12-06 17:00:47 · 347 阅读 · 2 评论 -
范围随机数产生
#include<stdio.h> #include<stdlib.h> #include<time.h> void main(){ random(10,0,100); }//main //范围随机数产生 int random(int n,int min,int max){ int num[100]; int i; srand((unsigned)(time(NULL))); for(i=0;i<n;i++){ num[i]=rand()%max+原创 2020-12-06 16:55:34 · 120 阅读 · 0 评论 -
判断回文
void main(){ int result = jud("12521"); printf("%d\n",result); }//main //判断是否为回文 int jud(char *p){ int i=0,j,count=0,flag=1; while (*(p + i) != '\0'){ i++; count++; }//while for (i = 0, j = count-1; i <= j; i++, j--){//回文判断 if (*(p+i) != *(原创 2020-12-06 16:44:53 · 76 阅读 · 0 评论 -
判断素数
void main(){ int result = prime(12); printf("%d\n",result); }//main //判断是否为素数 int prime(int n){ int i; for (i = 2; i < n; i++){ if (n%i == 0){//存在非本身因数 break; }//if }//for if (i < n){ return 1;//非素数 }//if else{ return 0;//素数 }//e原创 2020-12-06 16:41:47 · 119 阅读 · 0 评论 -
求最大公约数
void main(){ int result = divisor(78,24); printf("%d\n",result); }//main //求最大公约数 int divisor(int m, int n){ int r; while ((r = m%n) != 0){//辗转相除法 m = n; n = r; }//while return n; }//divisor原创 2020-12-06 16:33:52 · 93 阅读 · 0 评论 -
排序
1.冒泡排序 void main(){ int p[12]={12,11,14,2,5,78,6,99,5,45,66,78}; int n=12; bubble(p,n); } int bubble(int p[12], int n) { //冒泡排序法 //n数组的长度 int i, j, temp;//t for (i = 1; i < n; i++) { for (j = 0; j < n-1; j++) { if (p[j]>p[j + 1])原创 2020-12-06 16:00:51 · 79 阅读 · 0 评论 -
输入日期数日子
int day_of_year(int year, int month, int day) { int i, leap;//leap是否为闰年 int tab[2][13] = { {0,31,28,31,30,31,30,31,31,30,31,30,31}, {0,31,29,31,30,31,30,31,31,30,31,30,31} }; leap = (year % 4 == 0 && year % 100 != 0) || (year % 400 == 0);原创 2020-12-06 10:58:05 · 91 阅读 · 0 评论 -
输出
int i=25; printf("%-17d\n",i);//25之后显示17个空格 printf("%17d",i);//25之前显示17个空格原创 2020-12-06 10:42:07 · 80 阅读 · 0 评论