每日一题
momo潜行
这个作者很懒,什么都没留下…
展开
-
【无标题】
11原创 2023-03-09 16:39:16 · 72 阅读 · 0 评论 -
121123
asd原创 2022-12-01 22:13:47 · 162 阅读 · 0 评论 -
每日一题
原创 2021-02-25 16:20:46 · 84 阅读 · 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 · 55 阅读 · 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 · 74 阅读 · 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 · 1764 阅读 · 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 · 246 阅读 · 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 · 85 阅读 · 0 评论 -
202.2.10每日一题(顺序表的逆置)
(1)原创 2021-02-10 17:02:36 · 121 阅读 · 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 · 107 阅读 · 0 评论