每日一题
momo潜行
这个作者很懒,什么都没留下…
展开
-
【无标题】
11原创 2023-03-09 16:39:16 · 85 阅读 · 0 评论 -
121123
asd原创 2022-12-01 22:13:47 · 184 阅读 · 0 评论 -
每日一题
原创 2021-02-25 16:20:46 · 93 阅读 · 0 评论 -
每日一题
void reverse(SqList &L)双指针{ for(int i=0,j=L.length-1;i<j;i++;j--){ int temp=L.data[j]; L.data[j]=L.data[i]; L.data[i]=temp; }}原创 2021-02-19 12:17:37 · 70 阅读 · 0 评论 -
每日一题
int func(SqList &L){ int min=L.data[0]; if(L.length==0)return false; else{ for(int i=0;i<length;i++){ if(L.data[i]<min) min=Ldata[i]; } L.data[i]=L.data[length-1]; L.length--; return min; }}原创 2021-02-19 00:50:48 · 87 阅读 · 0 评论 -
2019408统考数据结构算法设计题(每日一题)
设线性表 L= ( a1 , a2 , a… , an-2 , an-1 , a n ) 采用带头结点的单链表保存,链表中结点定义如下:typedef struct node {int data ;struct node* next ;} NODE ;请设计一个空间复杂度为 O ( 1 ) 且时间上尽可能高效的算法,重新排列 L 中的各结点,得到线性表 L’= ( a 1 , a n , a 2 , a n-1 , a 3 , a n-2 … ) 。要求:( 1 ) 给出算法的基本设计思想(原创 2021-02-14 14:24:12 · 1789 阅读 · 0 评论 -
2021.2.1408数据结构每日一题
法一(暴扫)(嵌套循环)Lisklist search(Lisklist str1,Lisklist str2){p=str1->next,q=str2->next;while(p){ p=p->next; while(q){ if(q->data==p->data)return q; q=q->next; } q=str2->next;}if(!p)return 0;}法二(时间复杂度很小只需要遍历一次)int length.原创 2021-02-12 12:18:48 · 264 阅读 · 0 评论 -
2021.2.11每日一题
代码及注释如下typedef struct node{ int data; struct node *next;}LNode,*Lisklist;void Search(Lisklist L){ LNode *p=L->next,*q=L,count=1; while(p){ if(count<k){//没移动到正数的位置时 count++; p=p->next; } else{ p=p->next;//到达正数k后双指针保持k的距离移动 q.原创 2021-02-11 11:49:40 · 102 阅读 · 0 评论 -
202.2.10每日一题(顺序表的逆置)
(1)原创 2021-02-10 17:02:36 · 136 阅读 · 1 评论 -
2021.2.9---每日一题
代码及关键注释如下:void DeleteNode(Lisklsit &L){ LNode*p=L->next,*pre=L,*minp=L->next,*minpre=L;//定义四个指针 /* p指针用来遍历链表,minp指针存储最小值,即当怕扫描到较小的值是minp会指向p,便于删除最小值结点,删除结点(为保证不断链需要知道p和minp的前驱)所以定义pre和minpre两个指针 */ while(L->next!=L){//因为是反复删除表中最小结点所以L不.原创 2021-02-09 13:16:12 · 113 阅读 · 0 评论