16-17年833
发表于|更新于
|总字数:3|阅读时长:1分钟|浏览量:
16-17年833
文章作者: insistgang
版权声明: 本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来源 Leo的笔记本!
相关推荐
2022-09-11
8512021
851_20211. 链表题 什么是线性结构,写出线性结构的特点 写出删除链表头结点的算法 1234567891011121314/*(1)线性结构的特点是在数据元素的非空有限集中:①存在惟一的一个被称作“第一个”的数据元素和惟一的一个被称作“最后一个”的数据元素;②除第一个之外,集合中的每个数据元素均只有一个前驱;除最后一个之外,集合中的每一个数据元素均只有一个后继。线性结构的数据元素之间存在一对一的线性关系。线性结构拥有两种不同的存储结构,即顺序存储结构和链式存储结构。顺序存储的线性表称为顺序表,顺序表中的存储元素是连续的,链式存储的线性表称为链表,链表中的存储元素不一定是连续的,元素节点中存放数据元素以及相邻元素的地址信息。线性结构中存在两种操作受限的使用场景,即队列和栈。栈的操作只能在线性表的一端进行,就是我们常说的先进后出(FILO),队列的插入操作在线性表的一端进行而其他操作在线性表的另一端进行,先进先出(FIFO),由于线性结构存在两种存储结构,因此队列和栈各存在两个实现方式。*/Node *DeleteHead(Node *pHead){ if(...
2022-09-06
12-15真题
12-15真题求数列1-1/2+1/3-1/4+…1/n123456789101112131415161718192021222324/*1. 输入n,即为终止数列的数字2. 循环判定数字,分母为奇数时,系数为正,分母为偶数时,系数为负3. 最后在循环的过程中执行数字的累加,最后输出结果*/#include<iostream>using namespace std;int main(){ int n; double total; cin>>n; for(int i=0;i<n;i++){ double flag=0; if(i%2==0){ flag=1.0; }else{ flag=-1.0; } total+=(flag)/(i+1); } cout<<"total is"<<total...
2022-09-06
22真题
22真题5. (1)使用C语言给出双链表的数据结构(2)写出删除结点的C语言实现1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253struct node{ struct node *prev; int data; struct node *next;}void deletion_beginning(node *head){ struct node *ptr; if(head==NULL) { printf("UNDERFLOW\n"); }else if(head->next==NULL){ head=NULL; free(head); printf("not delete"); } else{ ...
2022-09-11
测试卷1.0
测试卷1.01. 旧事重提二分法实现幂函数x的n次方pow(x,n) 这里的二分法是指减少乘法的次数,把重复的运算省去。我要求x的n次方,那么先求x的n/2次方,然后两个相乘起来。如此递归下去。 1234567891011121314151617181920212223242526272829303132int pow(int x,int n){ int t=1; while(n){ if(n%2==1){ n=n-1; t*=x; } x*=x; n/=2; } return t;}double fun(double x,int n){ if(n==0)//递归结束条件 return 1; double half; if(n%2==1){//递归转移方程 half=fun(x,n/2);//x的n/2次方 return...
2022-09-06
19-20真题
19-20真题自操作表,指表中元素被find函数访问到,就自动移动到表头,并保持其他元素顺序不变 用数组存储结构写find功能 写链表存储结构的find功能 1234567891011121314151617181920212223242526272829303132void Find(char a[],int n,char e){ //n为数组长度,e为要查找的元素 for(int i=0;i<n;i++){ if(a[i]==e){ //找到元素之后 for(int j=i-1;j>=0;j--){ a[j+1]=a[j];//i-1位置之前的所有结点后移 } a[0]=e; } }}struct LNode{ char data;//数据域,保存结点的值 struct LNode *next;//指...
2022-09-06
16-18真题
16-18真题1. 循环双链表,结点previous,data,next和访问频度域freq,初试为0,每当链表进行一次Locate(L,x)运算时,令x结点freq域的值加1,并使其链表结点频度按递减顺序排序,并实现Locate(L,x)。123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960//1. 找到指定结点 2. 访问频度+1 3. 进行排序#include<iostream>using namespace std;const int N=100010;struct DNode{ int data; int freq; struct DNode *next; struct DNode *prior;};DNode *h;void sort(DNode *h){//根据freq降序排列,写成一个函数 DNode *p,*q,*pre; ...
评论
ValineDisqus







