數據結構2月19日

題目:順序表作業

代碼:

功能區:

 #include <stdio.h>#include <stdlib.h>#include "./d2191.h"SeqList* create_seqList(){SeqList* list = (SeqList*)malloc(sizeof(SeqList));if(NULL== list){return NULL;}list->pos=0;//初始化要操作的位置為0return list;}void insert_seqList(SeqList* list,dataype num){//判斷順序表是否為滿if(list->pos >=N){printf("順序表為滿,插入失敗\n");return;}//在pos位置插入數據list->data[list->pos] = num;//將pos++(list->pos)++;printf("插入成功\n");return;}void show_seqList(SeqList* list){int i;for(i=0;i<=list->pos;i++){printf("%d ",list->data[i]);}printf("\n");}dataype del_seqList(SeqList* list){//判斷順序表是否為空if(list->pos > 0){(list->pos)--;dataype num =list->data[list->pos];return num;}}//從下標插入數據void index_seqList(SeqList* list,int index,int temp){int i ;if(index<=0||index>=N||list->pos >=N){printf("要插入的下標錯誤或者超出");return;}for(i=list->pos;i>index;i--){list->data[i]=list->data[i-1];}(list->pos)++;list->data[index]=temp;return;}//從下標刪除數據dataype deletebyindex_seqList(SeqList* list,int index){int i;if(index<=0||index>=N||list->pos >=N){printf("要刪除的下標錯誤或者超出");return 0;}int beifen=list->data[index];for(i=index;i<list->pos;i++){list->data[i]=list->data[i+1];}(list->pos)--;return beifen;}//從下標修改數據void update_seqList(SeqList* list,int index,int newnum){if(index<0||index>list->pos){printf("非法輸入\n");return;}list->data[index]=newnum;printf("修改成功\n");return;}//按下標查找數據dataype find_seqList(SeqList* list,int index){if(index<0||index>list->pos){printf("非法輸入\n");return 0;}return list->data[index];}//按數據修改數據void updatebydata_seqList(SeqList* list,int oldnum,int newnum){int i;for(i=0;i<list->pos;i++){if(list->data[i]==oldnum){list->data[i]=newnum;}}printf("更新完成\n");return ;}//按數據查找位置int selectbydata_seqList(SeqList* list,int num){int i;for(i=0;i<list->pos;i++){if(list->data[i]==num){return i;}}

函數調用區:

include <stdio.h>
include "./d2191.h"
nt main(int argc, const char *argv[])//創建一個順序表SeqList* list = create_seqList();//從尾部插入數據insert_seqList(list,10);insert_seqList(list,100);insert_seqList(list,1000);insert_seqList(list,10000);insert_seqList(list,10);//從尾部刪除printf("%d\n", del_seqList(list));//從下標插入數據index_seqList(list,5,888);show_seqList(list);//從下標刪除數據printf("%d\n",deletebyindex_seqList(list,3));show_seqList(list);                                        //從下標修改數據update_seqList( list,3,66);show_seqList(list);//按下標查找數據printf("查找的數據是%d\n",find_seqList(list,3));//按數據修改數據updatebydata_seqList(list,10,11);show_seqList(list);//按數據查找位置printf("該數字在第幾個%d\n",selectbydata_seqList(list,66));return 0;

頭文件區:

 #ifndef FUNC_C_#define FUNC_C_#define N 6//順序表容量typedef int dataype;typedef struct{dataype data[N];//順序表int pos;//記錄要操作順序表的位置}SeqList;SeqList* create_seqList();void insert_seqList(SeqList* list,dataype num);void show_seqList(SeqList* list);dataype del_seqList(SeqList* list) ;void index_seqList(SeqList* list,int index,int temp);dataype deletebyindex_seqList(SeqList* list,int index);void update_seqList(SeqList* list,int index,int newnum);dataype find_seqList(SeqList* list,int index);void updatebydata_seqList(SeqList* list,int oldnum,int newnum);int selectbydata_seqList(SeqList* list,int num);#endif                                                            

運行結果:

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

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

相關文章

Linux系列講解 —— 【Vim編輯器】在Ubuntu18.04中安裝新版Vim

平時用的電腦系統是Ubuntu18.04&#xff0c;使用apt安裝VIM的默認版本是8.0。如果想要安裝新版的Vim編輯器&#xff0c;只能下載Vim源碼后進行編譯安裝。 目錄 1. 下載Vim源碼2. 編譯3. 安裝4. 遇到的問題4.1 打開vim后&#xff0c;文本開頭有亂碼現象。4.2 在Vim編輯器中&…

JS常見問題

文章目錄 如何判斷是數組 如何判斷是數組 Array.isArray console.log(Array.isArray(arr))instanceof&#xff08;instanceof 運算符用于驗證構造函數的 prototype 屬性是否出現在對象的原型鏈中的任意位置&#xff09; console.log(arr1 instanceof Array)constructor&#x…

百面嵌入式專欄(經驗篇)如何在面試中介紹自己的項目經驗

文章目錄 1. 在面試前準備項目描述,別害怕,因為面試官什么都不知道2. 準備項目的各種細節,一旦被問倒了,就說明你沒做過3.不露痕跡地說出面試官愛聽的話4.一定要主動,面試官沒有義務挖掘你的亮點5.一旦有低級錯誤,可能會直接出局6.引導篇:準備些加分點,在介紹時有意提到…

測試環境搭建整套大數據系統(三:搭建集群zookeeper,hdfs,mapreduce,yarn,hive)

一&#xff1a;搭建zk https://blog.csdn.net/weixin_43446246/article/details/123327143 二&#xff1a;搭建hadoop&#xff0c;yarn&#xff0c;mapreduce。 1. 安裝hadoop。 sudo tar -zxvf hadoop-3.2.4.tar.gz -C /opt2. 修改java配置路徑。 cd /opt/hadoop-3.2.4/etc…

R語言【raster】——projectRaster():映射一個Raster對象

Package raster version 3.6-27 Description 用另一個投影(坐標參考系統&#xff0c;(CRS))將一個Raster*對象的值投影到一個新的Raster*對象。 您可以通過將新投影作為單個參數提供來實現這一點&#xff0c;在這種情況下&#xff0c;函數將設置新對象的范圍和分辨率。為了對…

Three.js初學(3)

Three.js初學&#xff08;3&#xff09; 動畫渲染循環1. 請求動畫幀2. 旋轉動畫 Canvas畫布布局和全屏常見幾何體渲染器設置GUI.js庫1. 庫的引入2. 如何使用初步調試進階調試界面分組 動畫渲染循環 1. 請求動畫幀 requestAnimationFrame實現周期性循環執行 requestAnimationF…

LeetCode | 整數反轉 C語言

Problem: 7. 整數反轉 文章目錄 思路解題方法Code結果 思路 運算部分 while(x > 0) {y x % 10;y * 10;x / 10; } y / 10;對于大于32位的數要用long int類型的變量保存用pow算-2的31次方和2的31次方-1。 解題方法 由思路得 Code int reverse(long int x){long int y …

web前端安全性——iframe安全問題

1、概念 iframe安全問題可稱作界面劫持&#xff0c;像點擊劫持、拖放劫持、觸屏劫持。就是我們的點擊&#xff0c;拖放&#xff0c;觸屏操作被劫持了&#xff0c;而去操作了其它的透明隱藏的界面。 **原理是利用透明層iframe,使用了CSS中的opacity或z-index等屬性&#xff0c;…

快速構建 Debezium MySQL Example 數據庫

博主歷時三年精心創作的《大數據平臺架構與原型實現&#xff1a;數據中臺建設實戰》一書現已由知名IT圖書品牌電子工業出版社博文視點出版發行&#xff0c;點擊《重磅推薦&#xff1a;建大數據平臺太難了&#xff01;給我發個工程原型吧&#xff01;》了解圖書詳情&#xff0c;…

突破編程_C++_面試(指針(1))

面試題 1 &#xff1a;什么是空指針&#xff1f; 在 C 中&#xff0c;空指針是一個特殊的指針值&#xff0c;它不指向任何有效的內存地址。空指針通常用于表示指針不指向任何對象或函數。在C11及以后的版本中&#xff0c; nullptr 是表示空指針的推薦方式。 nullptr 是一個指針…

AI繪畫與修圖:重塑數字藝術的新紀元

文章目錄 一、AI繪畫與修圖的原理二、AI繪畫的應用三、AI修圖的優勢四、面臨的挑戰五、未來發展趨勢《AI繪畫與修圖實戰&#xff1a;PhotoshopFirefly從入門到精通 輕松玩轉AI繪畫與修圖實戰》亮點內容簡介作者簡介 隨著人工智能技術的飛速發展&#xff0c;AI繪畫與修圖已經成為…

如何理解和區分訓練集、測試集和驗證集

如何理解和區分訓練集、測試集和驗證集 &#x1f308; 個人主頁&#xff1a;高斯小哥 &#x1f525; 高質量專欄&#xff1a;Matplotlib之旅&#xff1a;零基礎精通數據可視化、Python基礎【高質量合集】 &#x1f4a1; 創作高質量博文&#xff0c;分享更多關于深度學習、PyTor…

靡語IT:Vue精講(一)

Vue簡介 發端于2013年的個人項目&#xff0c;已然成為全世界三大前端框架之一&#xff0c;在中國大陸更是前端首選。 它的設計思想、編碼技巧也被眾多的框架借鑒、模仿。 紀略 2013年&#xff0c;在Google工作的尤雨溪&#xff0c;受到Angular的啟發&#xff0c;從中提取自…

soc(十七) SOC市場分類

桌面服務器集中式服務器架構和基于ARM微服務器架構的存儲差別在哪&#xff1f; http://www.dostor.com/p/54167.html 手機飛行器汽車家庭監控安防路由器

【前端素材】推薦優質后臺管理系統Protable平臺模板(附源碼)

一、需求分析 后臺管理系統是一種用于管理和監控網站、應用程序或系統的在線工具。它通常是通過網頁界面進行訪問和操作&#xff0c;用于管理網站內容、用戶權限、數據分析等。當我們從多個層次來詳細分析后臺管理系統時&#xff0c;可以將其功能和定義進一步細分&#xff0c;…

華為配置CAPWAP雙棧覆蓋業務示例

配置CAPWAP雙棧覆蓋業務示例 組網圖形 圖1 配置CAPWAP雙棧覆蓋業務示例組網圖 業務需求組網需求數據規劃配置思路配置注意事項操作步驟配置文件 業務需求 企業用戶接入WLAN網絡&#xff0c;以滿足移動辦公的最基本需求。且在覆蓋區域內移動發生漫游時&#xff0c;不影響用戶的業…

解決 PLC QModbusTcpClient 通信自動斷開

項目場景&#xff1a; 提示&#xff1a;這里簡述項目相關背景&#xff1a; 例如&#xff1a;項目場景&#xff1a;QModbusTcpClient 通信 問題描述 提示&#xff1a;這里描述項目中遇到的問題&#xff1a; QModbusTcpClient 連接后&#xff0c;稍微停一段時間&#xff0c;就…

LeetCode10. Regular Expression Matching——完全背包

文章目錄 一、題目二、題解 一、題目 Given an input string s and a pattern p, implement regular expression matching with support for ‘.’ and ‘*’ where: ‘.’ Matches any single character.???? ‘*’ Matches zero or more of the preceding element. The…

【selenium】三大切換 iframe 彈窗alert 句柄window 和 鼠標操作

目錄 一、iframe 1、切換方式&#xff1a; 1、第一種情況&#xff1a; 2、第二種情況&#xff1a; 方式1: 先找到iframe&#xff0c;定位iframe元素&#xff08;可以通過元素定位的各種方式&#xff1a;xpath&#xff0c;css等等&#xff09;&#xff0c;用對象接收&…

MyBatis Plus中的動態表名實踐

隨著數據庫應用的不斷發展&#xff0c;面對復雜多變的業務需求&#xff0c;動態表名的處理變得愈發重要。在 MyBatis Plus&#xff08;以下簡稱 MP&#xff09;這一優秀的基于 MyBatis 的增強工具的支持下&#xff0c;我們可以更便捷地應對動態表名的挑戰。本文將深入研究如何在…