
c语言习题册(中南财)
路小雨Abigail
点滴成海,咸鱼有梦
展开
-
王道C语言C++版查找算法总结
1. 顺序查找顺序查找//顺序查找int Search_Seq(int A[],int n,int key){ int i; A[0]=key; /* for (i = 1; ; i++) if (A[i] == key) break; if (i < n) return i; else return -1; */ for(i=n;A[i]!=key;-原创 2021-11-22 21:02:54 · 1076 阅读 · 0 评论 -
王道C语言C++版排序算法总结
直接插入排序直接插入排序//直接插入排序#include <stdio.h>#include<stdlib.h>//malloc#include <stdbool.h>//直接插入排序void InsertSort(int a[],int n){ int i,j; for(i=2;i<=n;i++){ if(a[i]<a[i-1]){ a[0]=a[i]; for.原创 2021-11-22 20:40:30 · 1111 阅读 · 0 评论 -
王道C语言C++版队列总结
队列定义,也是一种操作受限的线性表,只允许在表的一端进行插入,而在另一端进行删除。基本操作InitQueue(&Q);初始化QueueEmpty(Q);队列是否为空EnQueue(&Q, x);若队列未满,入队DeQueue(&Q, &x);若队列非空,出队GetHead(Q, &x);读取队头元素,若队列非空,将队头元素赋值给xClearQueue(&Q);清空队列,并回收内存队列的顺序存储结构#include<cstdio>.原创 2021-11-14 22:33:07 · 1594 阅读 · 2 评论 -
王道C语言C++版栈总结
栈定义基本操作顺序存储结构链式存储结构栈定义:只允许在一端进行插入或删除的线性表。InitStack(&S);初始化一个空栈StackEmpty(&S);判断一个栈是否为空Push(&S, x);进栈(若未满Pop(&S, &x);出栈(若非空)GetTop(S, &x);读取栈顶元素(若非空,用x返回栈顶元素)ClearStack(&S);销毁栈,并释放栈S所用的存储空间栈的顺序存储结构#include<cstdi.原创 2021-11-14 22:23:15 · 697 阅读 · 2 评论 -
王道C语言C++版线索二叉树可运行总结--树3
王道源码运行结果如下//线索二叉树的链式存储结构/左前右后ltag :0 lchild域指向结点的左孩子:1 lchild域指向结点的前驱rtag :0 rchild域指向结点的右孩子:1 rchild域指向结点的后继/#include<cstdio>#include<cstdlib>//线索二叉树的链式存储结构/* 左前右后 ltag :0 lchild域指向结点的左孩子 :1 lchild域指向结点的前驱 rta原创 2021-11-14 22:05:28 · 975 阅读 · 0 评论 -
王道C语言C++版树的顺序存储结构代码总结--树1
二叉树的顺序存储结构#define MAX_TREE_SIZE 100typedef int SqBiTree[MAX_TREE_SIZE];SqBiTree bt;在顺序结构中寻找i和j的最近共同祖先#include<cstdio>//二叉树的顺序存储结构#define MAX_TREE_SIZE 100typedef int SqBiTree[MAX_TREE_SIZE];SqBiTree bt;//在顺序结构中寻找i和j的最近共同祖先void Comm_Ance原创 2021-11-14 22:00:33 · 973 阅读 · 0 评论 -
王道C语言C++版二叉树的遍历及其深度代码总结--树2
之前一直弄不清楚树这块抽象的伪代码最近????突发其想吧这个王道树上的代码运行了一下,是实体代码,直接可以运行打debug.方便大家阅读欣赏,预祝考研顺利.二叉树的链式存储结构typedef struct BiTNode{ Elemtype data; struct BiTNode *lchild, *rchild;}BiTNode, *BiTree;先序//先序void PreOrder(BiTree bt){ if(bt != NULL){ pr原创 2021-11-14 21:54:01 · 1167 阅读 · 0 评论 -
c语言指针函数版-有n个整数,使前面各数顺序向后移m个位置,最后m个数变成前面的m个数
//有n个整数,顺序向后移动m个位置,最后m个数变成最前面的m个数//每次移动一个,end为每次替换的数void move(int array[20],int n,int m){ int *p,end; end=*(array+n-1); for(p=array+n-1;p>array;p--) *p=*(p-1); *array=end; m--; //递归调用,当循环次数m减少到0的时候,停止调用 if(m>0)mo原创 2021-11-03 22:53:14 · 4292 阅读 · 7 评论 -
编写函数swap实现交换两个数位置的功能并总结swap的使用实现方法
1.编写函数swap实现交换两个数位置的功能//⚠️//8.酱油和醋,要求将他们互换一下//注意不能直接写void swap(int a,int b)void swap(int *a,int *b){ int temp; temp=*a; *a=*b; *b=temp;};int main(){ int a,b; printf("请输入数字a和b\n"); scanf("%d %d",&a,&b); printf("原创 2021-10-19 22:31:34 · 5259 阅读 · 0 评论 -
C语言版单链表:按序号查找结点值和按值查找表结点的代码总结
先上函数模块按序号查找结点//按序号查找结点LNode *GetElem(LinkList L,int i){ int j=1; LNode *p=L->next; if(i==0) return L; if(i<1) return NULL; while(p&&j<i){ p=p->next; j++; } return p;}按值查找原创 2021-09-17 12:30:07 · 4874 阅读 · 6 评论 -
王道代码版单链表头插法,不带头的头插法,尾插法,不带头的尾插法的总结
在编译器上面编译发现很容易控制台打印不出来,这可能就是细节所在,但是网上也没有很全的全代码输出的案例.我做题的感觉写的是对的其实并不对,你只是第六感感觉是对的仅此而已!!!要注意引以为戒,下面总结一下我自己写的可以运行的非伪码首先定义结构体typedef int Elemtype;//定义结构体typedef struct node{ Elemtype data; struct node * next;}LNode,*LinkList;1.1⚠️头插法建立单链表//1.1⚠原创 2021-09-17 12:18:09 · 3279 阅读 · 5 评论 -
编写程序,输入九个数字,找出其中最大的数字并输出
int main() { //int i,array[9],max; //printf("请输入九个数字\n"); //scanf("%d",&array[i]); //max=array[0]; //for(i=0;i<9;i++) { // if (array[i+1] > max) { // max = array[i+1]; // printf("最大数为%d\n", max);..原创 2021-09-16 16:46:26 · 1381 阅读 · 0 评论 -
编写程序实现99乘法表
int main() { int sum; int i,j; for (i=0;i<10;i++){ for(j=0;j<10;j++){ if(j<=i)//防止输出两遍 { sum=i*j; printf("%d*%d=%d\t",i,j,sum); } } printf("\..原创 2021-09-16 11:20:19 · 3666 阅读 · 0 评论