【PTA數據結構 | C語言版】求單鏈表list中的元素個數,即表長

本專欄持續輸出數據結構題目集,歡迎訂閱。

文章目錄

    • 題目
    • 代碼

題目

請編寫程序,將 n 個整數順次插入一個初始為空的單鏈表的表頭。最后輸出單鏈表的表長。

本題旨在訓練學習者熟悉單鏈表的基本操作,不建議直接輸出 n。

輸入格式:
輸入首先在第一行給出非負整數 n(≤15);隨后一行給出 n 個 int 范圍內的整數,數字間以空格分隔。

輸出格式:
在一行中輸出單鏈表的表長。

輸入樣例:
5
1 2 3 4 5
輸出樣例:
5

代碼

#include <stdio.h>
#include <stdlib.h>// 定義鏈表節點結構
typedef struct Node {int data;struct Node* next;
} Node;// 創建新節點
Node* createNode(int data) {Node* newNode = (Node*)malloc(sizeof(Node));newNode->data = data;newNode->next = NULL;return newNode;
}// 計算鏈表長度
int getLength(Node* head) {int count = 0;Node* current = head;while (current != NULL) {count++;current = current->next;}return count;
}// 釋放鏈表內存
void freeList(Node* head) {Node* temp;while (head != NULL) {temp = head;head = head->next;free(temp);}
}int main() {int n, data;Node* head = NULL;  // 初始為空鏈表// 讀取整數個數nscanf("%d", &n);// 順次插入n個整數到表頭for (int i = 0; i < n; i++) {scanf("%d", &data);Node* newNode = createNode(data);newNode->next = head;  // 新節點指向當前頭節點head = newNode;        // 更新頭節點為新節點}// 計算并輸出鏈表長度printf("%d\n", getLength(head));// 釋放鏈表內存freeList(head);return 0;
}    

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/913623.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/913623.shtml
英文地址,請注明出處:http://en.pswp.cn/news/913623.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

玩轉Docker | 使用Docker部署HomeBox家庭庫存管理工具

玩轉Docker | 使用Docker部署HomeBox家庭庫存管理工具 前言一、HomeBox介紹Homebox簡介主要特點主要使用場景二、系統要求環境要求環境檢查Docker版本檢查檢查操作系統版本三、部署HomeBox服務下載HomeBox鏡像編輯部署文件創建容器檢查容器狀態檢查服務端口安全設置四、訪問Hom…

QT中的常用控件-QWidget的enable屬性

QT中的常用控件-QWidget的enable屬性 enable描述了一個控件是否處于“可用”狀態 與之相對應的概念是“禁用”&#xff0c;禁用是該控件不能接受任何用戶的輸入事件&#xff0c;并且外觀上往往是灰色的 如果一個Widget被禁用&#xff0c;則該Widget的子元素也被禁用API說明IsEn…

【數據結構】復雜度分析

目錄 一、算法 1.基本概念 2.描述方法 3.算法效率 二、算法的時間復雜度 三、算法的空間復雜度 一、算法 1.基本概念 通俗的講&#xff0c;算法是解決問題的方法&#xff0c;比如在現實生活中一道菜譜&#xff0c;一個安裝輪椅的操作指南等。 嚴格的說&#xff0c;算法…

推薦系統基礎 --ShusenWang

學習b站up主的ShusenWang的推薦系統筆記 指標 任何系統/算法/模型都需要評估&#xff0c;對于推薦系統的指標有消費指標和北極星指標&#xff0c;消費指標是衡量用戶對產品的使用情況&#xff0c;使用頻率廣度和深度&#xff0c;用于了解用戶的使用習慣&#xff0c;北極星指標是…

linux wsl2 docker 鏡像復用快速方法

GitHub項目中的devcontainer.json、Dockerfile構建了一個A項目的鏡像環境&#xff0c;現在我有一個文件夾&#xff0c;文件夾中只有一個b.py文件&#xff0c;此時我希望使用A項目的環境&#xff0c;如何實現&#xff1f;注意&#xff1a; 建議使用下面的方法2 解決方案&#xf…

(生活比喻-圖文并茂)http2.0和http3.0的隊頭阻塞,http2.0應用層解決,TCP層存在,3.0就是徹底解決,到底怎么理解區別???

說明一下&#xff1a; http屬于應用層協議&#xff0c;TCP和udp屬于傳輸層協議 文章目錄階段一&#xff1a;HTTP/1.1 的情況&#xff08;單車道收費站&#xff0c;一次過一輛&#xff09;階段二&#xff1a;HTTP/2 的情況&#xff08;多車道收費站&#xff0c;但出口只有一條路…

ARM環境openEuler2203sp4上部署19c單機問題-持續更新

問題01、報錯如下orcl:/home/oracledb15> export CV_ASSUME_DISTIDRHEL8 orcl:/home/oracledb15> $ORACLE_HOME/runInstaller -applyPSU /soft/37642901 Exception in thread "main" java.lang.UnsatisfiedLinkError: /u01/app/oracle/product/19.0.0/db_1/oui…

php成績分析系統單科分數分布分析202507

提交二維數據表&#xff0c;識別成績科目顯示科目選擇&#xff0c;選擇科目后顯示樣本數,平均分,最高分,最低分,中位數,柱狀圖圖表顯示各分值人數分布&#xff0c;表格顯示統計數據。 技術&#xff1a;html5css3ajaxphp 原生代碼實現。 效果圖&#xff1a; 下載&#xff1a; …

Redis Cluster 與 Sentinel 筆記

目錄 Redis 集群&#xff08;Cluster&#xff09;概述 Cluster 的工作原理 Cluster 配置與部署 Cluster 常見問題與限制 Redis Sentinel&#xff08;哨兵&#xff09;機制概述 Sentinel 的工作機制 Sentinel 配置與部署 Sentinel vs Cluster 總結 Redis 集群&#xff…

LLM視覺領域存在模型視覺識別不準確、細粒度視覺任務能力不足等科學問題

LLM視覺領域存在模型視覺識別不準確、細粒度視覺任務能力不足等科學問題 除了前面提到的數據集,還有一些用于評估視覺推理等能力的經典數據集。目前關于LLM視覺領域經典提示詞方面的名校或大公司論文較少,以下是相關科學問題、數據集及部分相關論文介紹: 科學問題 視覺推理…

Node.js worker_threads:并發 vs 并行

一、核心結論 Node.js 的 worker_threads 模塊實現的是 并行計算 &#xff0c;而非傳統意義上的“并發”。其通過操作系統級線程實現多核 CPU 的并行執行&#xff0c;同時保留 Node.js 單線程事件循環的并發模型。 二、關鍵概念解析 1. 并發&#xff08;Concurrency&#xff09…

gloo 多卡訓練

我們遇到了分布式訓練中的通信超時問題&#xff08;Connection closed by peer&#xff09;。根據錯誤信息&#xff0c;問題發生在梯度同步的屏障&#xff08;barrier&#xff09;操作時。以下是針對此問題的優化措施和代碼修改&#xff1a; 優化措施&#xff1a; 增強通信穩…

【Docker】在銀河麒麟ARM環境下離線安裝docker

1、前言 采用離線安裝的方式。 關于離線安裝的方式官網有介紹&#xff0c;但是說的很簡單&#xff0c;網址&#xff1a;Binaries | Docker Docs 官網介紹的有幾種主流linux系統的安裝方式&#xff0c;但是沒有kylin的&#xff0c;所以在此記錄一下。 在安裝過程中也遇到了些…

AUTOSAR進階圖解==>AUTOSAR_SWS_SOMEIPTransformer

AUTOSAR SOME/IP 轉換器規范詳解 基于AUTOSAR標準的SOME/IP轉換器協議解析與實現指南目錄 1. 介紹與功能概述2. SOME/IP架構 2.1 SOME/IP轉換器架構2.2 組件解釋2.3 層級說明 3. SOME/IP通信流程 3.1 客戶端/服務器通信序列3.2 通信流程解釋 4. SOME/IP消息結構 4.1 消息結構類…

Python 機器學習核心入門與實戰進階 Day 5 - 模型調參與交叉驗證技巧(GridSearchCV、KFold)

? 今日目標 理解模型調參的重要性&#xff08;避免欠擬合/過擬合&#xff09;掌握 GridSearchCV 的使用方法學習 K 折交叉驗證的基本流程與意義對比不同參數組合的表現使用 Pipeline 簡化流程&#xff08;進階&#xff09;&#x1f4d8; 一、調參思路方法描述Grid Search窮舉所…

Python打卡:Day47

復習日 浙大疏錦行

ACE-Step:AI音樂生成基礎模型

ACE-Step是什么 ACE-Step 是 ACE Studio 和 StepFun 聯合推出的一款開源音樂生成基礎模型&#xff0c;專為高效、連貫、可控的音樂創作而設計。它融合了擴散模型、深度壓縮自編碼器&#xff08;DCAE&#xff09;和輕量級線性變換器&#xff0c;生成速度比傳統大模型快約 15 倍…

Web前端: :is(通用選擇器)

:is(通用選擇器)CSS中的 :is() 選擇器是?個功能強?的偽類選擇器&#xff0c;它?于簡化復雜的選擇器&#xff0c;特別是在處理多個相似的選擇器時。:is() 選擇器接受 ?個選擇器列表作為參數&#xff0c;然后匹配列表中任何?個選擇器所選中的元素。:is() 選擇器核心概念基本…

【學習筆記】網絡設備(華為交換機)基礎知識 24 —— 以太網子接口基礎知識

**總結&#xff1a;分享華為交換機以太網子接口基礎知識&#xff1a;包含子接口的簡介、功能、分類以及二層以太網子接口配置終結子接口、三層以太網子接口配置終結子接口和檢查配置結果的相關命令 ** 一、子接口的概念 1、子接口的簡介以太網子接口&#xff1a;?是通過協議和…

在Docker中安裝nexus3(作為maven私服)

1. 為什么我不推薦安裝nexus2&#xff1f; 有兩個原因&#xff1a;&#xff08;1&#xff09;nexus2安裝麻煩&#xff0c;nexus3安裝更方便 &#xff08;2&#xff09;Nexus 3相對于Nexus 2進行了一些重要的改進和增強。它引入了新的存儲引擎、更多的倉庫類型支持、改進的權限…