首页 > 其他分享 >Practice

Practice

时间:2024-04-23 09:02:11浏览次数:19  
标签:head int Practice next 链表 LList data

18.链表只能一个接着一个遍历,不允许通过随机访问
image
7.链表的地址是连续的,通过内部的指针来进行访问
image

//假设该链表只给出了头指针 head。在不改变链表的前提下,请设计一个尽可能高效的算法,
//查找链表中倒数第k(k为正整数)个位置上的结点。若查找成功,算法输出该结点的 data值,并返回 1;否则,只返回 0。

int LList_Seek(LList_t *head,int k)
{
    if(NULL == head -> next)
    {
        perror("head is empty");
        return 0;
    }
    int cnt = 0;
    LList_t *p = head -> next;  //若指向头节点,则循环内不需要等于
    while(head ->next)
    {
        p = p -> next;
        cnt++;
    }
    p = head -> next;  //指针p返回到开头,若指向头节点,则循环内不需要等于
    for(int i = 0; i < (cnt-k); i++)
    {
        p = p -> next;
    }
    printf("%d\n",p -> data);

    return 1;
}

//遍历和比较得到最小的值所在的节点
int LList_Print(LList_t *Head)
{
	//对链表的头节点的地址进行备份
	LList_t *Phead = Head;
	LList_t *p = Head -> next;
    LList_t *ptr = Head -> next -> next;
    int min = p -> data;
	//首结点
	while(ptr->next)
	{
		if(ptr -> data < p ->data)
        min = ptr -> data;
	}
    printf("data = %d\n",ptr -> data);

    return ptr -> data;
}

标签:head,int,Practice,next,链表,LList,data
From: https://www.cnblogs.com/hhail08/p/18151678

相关文章

  • process scheduling (进程调度)& practice 1 process operation
    进程切换并发进程的切换并发进程中,一个进程在执行过程中可能被另一个进程替换占有CPU,这个过程称为“进程切换”是什么触发了进程切换?进程切换时要做什么?操作系统到底做了什么操作2中断技术中断是指程序执行过程中当发生某一个事件时,中止cpu上现行的程序的运行in......
  • shell practice 04
    #!/bin/bash#author:Chiweiming#version:v1#date:2024-03-26<<COMMAND检查某个目录下的所有文件和目录,看是否满足下面条件:1)所有文件权限为6442)所有目录权限为7553)文件和目录所有者为xxx,所属组为xxx如果不满足,改成符合要求注意:不要直接修改权限,一定要有判断的......
  • shell practice 05
    #/bin/bash#autuor:ChiWeiming#version:v1#date:2024-03-27<<COMMAND针对某个目录,该目录下有数百个子目录,比如/data/att/chiweiming/data/att/linux然后再深入一层是以日期命名的目录,比如/data/att/linux/20240324,每天都会生成一个日期新目录,由于磁盘空间快满了,......
  • shell practice 06
    #!/bin/bash#author:Chiweiming#version:v1#date:2024-03-28<<COMMAND监控系统负载,如果系统负载超过10,记录系统状态信息1)系统负载命令使用uptime看,过去1分钟的平均负载2)系统状态使用如下工具标记:top、vmstat、ss3)要求每隔20s监控一次4)系统状态信息需要保存......
  • shell practice 08
    #!/bin/bash#author:ChiWeiming#version:v1#date:2024-04-12<<COMMANT输入一个数字,然后运行对应的一个命令。显示命令如下:*cmdmeau**1-date2-ls3-who4-pwd当输入1时,执行date命令,输入2时执行ls命令,依此类推COMMANTecho"*cmdmeau**1-date2-ls3-......
  • shell practice 01
    #!/bin/bash#author:ChiWeiming#version:v1#date:2024-03-24<<COMMENT备份指定目录下的指定类型的文件,在所有指定文件的后面加上日期。例如,备份/data目录下的所有.log文件,system.log->system.log_20240324COMMENTsourcecolor.sh#checkthenumberofpa......
  • Microservice - Distributed Transactions Based on Saga and Kafka in Practice
       ......
  • SDNU_ACM_ICPC_2024_Winter_Practice_1st 赛后
    A:题目给出t个n,对每个n,令n=x+y+z,x|n,y|n,z|n,输出最大的xyz的值。解法打表找规律#include<bits/stdc++.h>usingnamespacestd;typedeflonglongll;intmain(){ios::sync_with_stdio(false),cin.tie(0),cout.tie(0);intt;cin>>t;while(t--){......
  • ZooKeeper's atomic broadcast protocol:Theory and practice 翻译
    ZooKeeper’satomicbroadcastprotocol:TheoryandpracticeZooKeeper的原子广播协议:理论和实践Andr´eMedeirosMarch20,2012Abstract摘要ApacheZooKeeperisadistributedcoordinationserviceforcloudcomputing,providingessentialsynchronizationandgrou......
  • 神经网络优化篇:详解超参数调试的实践:Pandas VS Caviar(Hyperparameters tuning in prac
    超参数调试的实践如今的深度学习已经应用到许多不同的领域,某个应用领域的超参数设定,有可能通用于另一领域,不同的应用领域出现相互交融。比如,曾经看到过计算机视觉领域中涌现的巧妙方法,比如说Confonets或ResNets。它还成功应用于语音识别,还看到过最初起源于语音识别的想法成功应......