數據結構--鏈式線性表

環境:dev c++

#include<stdio.h>
#include<stdlib.h>typedef struct LNode *List;
typedef int ElementType;struct LNode{ElementType Data;List next;
};int Length(List Ptrl);
List FindKth(int k,List Ptrl);
List Find(ElementType x,List Ptrl);
List Insert(ElementType x,int i,List Ptrl);
List Delete(int i,List Ptrl); 
int Length(List Ptrl);
void print(List Ptrl);int main(){List p=NULL,s=NULL;int i;printf("length:%d\n",Length(p));for(i=1;i<10;i++){p=Insert(i,i,p);}printf("length:%d\n",Length(p));print(p);s=FindKth(3,p);print(s);p=Delete(5,p);print(p);return 0;   
} int Length(List Ptrl){//求表長 List p=Ptrl;int j=0;while(p){p=p->next;j++;}return j;
}void print(List Ptrl){//輸出鏈表數據 List p=Ptrl;while(p){printf("%d\t",p->Data);p=p->next;}printf("\n");
}List FindKth(int k,List Ptrl){//按序號查找 List p=Ptrl;int i=1;while(p!=NULL&&i<k){p=p->next;i++;}return p; 
}List Find(ElementType x,List Ptrl){//按值查找 List p=Ptrl;while(p!=NULL&&p->Data!=x)p=p->next;return p;
}List Insert(ElementType x,int i,List Ptrl){//在第i-1個結點后面插入一個值為x的結點//*********************************************************
//*1、先構造一個新結點,用s指向 
//*2、找到鏈表的第i-1個結點,用p指向 
//*3、修改指針,插入結點 
//*********************************************************List p,s;if(i==1){s=(List)malloc(sizeof(struct LNode));s->Data=x;s->next=Ptrl;return s;}p=FindKth(i-1,Ptrl);if(p==NULL){printf("Error:wrong paraments...\n");return NULL;}else{s=(List)malloc(sizeof(struct LNode));s->Data=x;s->next=p->next;p->next=s;return Ptrl;}
}List Delete(int i,List Ptrl){//刪除鏈表的第i個位置上的結點
//******************************************************** 
//1、找到鏈表的第i-1個結點,用p指向 
//2、用指針s指向要刪除的結點,p的下一個結點 
//3、修改指針,刪除s所指向的結點 
//4、釋放s所指結點的空間 
//********************************************************List p,s;if(i==1){s=Ptrl;if(Ptrl!=NULL)Ptrl=Ptrl->next;elsereturn NULL;free(s);return Ptrl;}p=FindKth(i-1,Ptrl);if(p==NULL){printf("第%d個結點不存在\n",i-1);return NULL;}else if(p->next==NULL){printf("第%d個結點不存在\n",i);return NULL;}else{s=p->next;p->next=s->next;free(s);return Ptrl;}
} 

歡迎留言交流。。。

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

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

相關文章

linux査 到漠河 裝apache,如何在Ubuntu上搭建一臺安全的Apache?Web服務器

滿意答案1.安裝Apache2使用下面這個命令&#xff0c;安裝Apache2及其他庫。1$ sudo apt-get -y install apt-get install apache2 apache2.2-common apache2-doc apache2-mpm-prefork apache2-utils libexpat1 ssl-cert libapache2-mod-php5 php5 php5-common php5-gd php5-cli…

vs2010 中添加 ActiveX Control Test Container工具

vs2010中的TSTCON( ActiveX Control Test Container )工具非自動安裝&#xff0c;而是作為一個例程提供。所以應找到該例程&#xff0c;并編譯&#xff1a; 如vs2010安裝在默認路徑則 1, 進入&#xff1a;C:\Program Files\Microsoft Visual Studio 10.0\Samples\1033&#xff…

linux c實現mypwd

這個其實很簡單&#xff0c;只需要調用getcwd()這個函數就行了。 char *getcwd(char *buffer,int maxlen); 功能&#xff1a;獲取當前工作目錄 參數&#xff1a;buffer指向用來存儲絕對路徑的數組&#xff0c;maxlen絕對路徑的字符大小 返回&#xff1a;成功則返回當前的工作目…

安裝Discuz

1.下載Discuz 版本文件http://download.comsenz.com/DiscuzX/3.2/Discuz_X3.2_SC_GBK.zip2.下載PHPhttp://windows.php.net/downloads/releases/php-5.6.9-Win32-VC11-x64.zip把里面文件的php.ini-development 更名為php.ini Uncomment下列語句 extension_dir "ext"…

linux跑caffe模型的步驟,Caffe初步實踐——使用訓練好的模型完成語義分割任務

Caffe剛剛安裝配置結束&#xff0c;乘熱打鐵&#xff01;(一)環境準備前面我有兩篇文章寫到caffe的搭建&#xff0c;第一篇cpu only &#xff0c;第二篇是在服務器上搭建的&#xff0c;其中第二篇因為硬件環境更佳我們的步驟稍顯復雜。其實&#xff0c;第二篇也僅僅是caffe的初…

關于 Code First

第一感覺還是很新鮮的&#xff0c;你可以自由的控制數據結構。 比如&#xff0c;你想象oracle那樣&#xff0c;給每個表增加4個字段&#xff0c;創建人&#xff0c;創建時間&#xff0c;更新人&#xff0c;更新時間。完全可以創建一個父類包含著四個屬性&#xff08;甚至可以把…

靈悟禮品網上專賣店——新建數據庫

一、小組成員&#xff1a; 洪雪意&#xff08;產品負責人&#xff09; 陳淑筠&#xff08;Master&#xff09; 二、組內人員任務情況 計劃完成的任務的第三個模塊&#xff1a;分析并建立數據庫 已完成的任務&#xff1a; 任務的第三個模塊&#xff1a; 陳淑筠&#xff08;負責…

操作系統上機題目(多進程1)

1、創建1個子進程2、程通過管道與子進程連接 子進程的標準輸出連接到管道的寫端主進程的標準輸入連接到管道的讀端3、進程中調用exec(“echo”, “echo”, “hello world”, NULL)4、進程中調用read(0, buf, sizeof(buf))&#xff0c;從標準輸入中獲取子進程發送的字符串&…

Oracle數據庫dmp文件Dos命令下導入導出

Oracle數據庫dmp文件Dos命令下導入導出 2013-03-09 18:22:52| 分類&#xff1a; Oracle |舉報|字號 訂閱 數據導出: 一. 導出工具exp 他是操作系統下一個可執行的文件,存放目錄/Oracle_Home/bin. exp導出工具將數據庫中數據備份壓縮成一個二進制系統文件,可以在不同的OS間遷…

c語言報錯找不到標識符,error C3861: “_T”: 找不到標識符

頭天好好的程序&#xff0c;第二天一早就報錯&#xff0c;還是莫名其妙的錯誤&#xff1a;atlconv.h等頭文件中的“_T” 報錯&#xff0c;百思不得其解&#xff0c;各種搜索而不得&#xff0c;整個人都崩潰了。出問題一定是有原因的&#xff0c;后來冷靜下來&#xff0c;縷縷思…

js 面向對象插件寫法,還是很好理解的

/** * Created by jiangtao on 2015/5/12. * name jihe */(function () { function gather(msg) { //適應參數 if (msg) { if (msg.imgFile ! undefined) { this.imgFile msg.imgFile; }; if (msg.wechatAppid ! undefined) { this.wechatAppid msg.wechatAppid; }; }; this.…

操作系統上機題目(多進程2)

1、主進程創建2個子進程&#xff0c;主進程通過兩個管道分別與兩個子進程連接2、第一個子進程計算從1加到50的和&#xff0c;并將結果通過管道送給父進程3、第一個子進程計算從50加到100的和&#xff0c;并將結果通過管道送給父進程4、父進程讀取兩個子進程的結果&#xff0c;將…

JavaScript 的簡介

JavaScript 是一種基于對象和事件驅動的腳本語言。JavaScript和HTML一起實現網頁與客戶端的交互&#xff0c;從而可以開發客戶端的應用程序。JavaScript是通過潛入在標準的HTML文件中實現的&#xff0c;可以直接控制瀏覽器窗口個元素以及頁面內容。JavaScript一個重要的功能就是…

c語言大樂透編譯,Excel大樂透搖號vba代碼分享,說不定就中百萬了呢

大家好我是Excel從零到一&#xff0c;今天閑來無聊做了一套大樂透搖號程序的vba代碼分享給大家來看下效果Excel大樂透搖號vba代碼分享&#xff0c;說不定就中百萬了呢Sub 搖號()Dim i, a, test, s(1 To 35) As IntegerFor i 1 To 5line1: test Application.WorksheetFunction…

操作系統上機題目(多線程1)

主線程創建10個子線程 第0個子線程計算從01加到10的和 - 第1個子線程計算從11加到20的和 … 第9個子線程計算從91加到100的和 2. 主線程歸并10個子線程的計算結果&#xff0c;最終結果為5050 本題必須使用線程參數來完成 #include<stdio.h> #include<unistd.h> #i…

紙上談兵: 堆 (heap)

紙上談兵: 堆 (heap) 作者&#xff1a;Vamei 出處&#xff1a;http://www.cnblogs.com/vamei 歡迎轉載&#xff0c;也請保留這段聲明。謝謝&#xff01; 堆(heap)又被為優先隊列(priority queue)。盡管名為優先隊列&#xff0c;但堆并不是隊列。回憶一下&#xff0c;在隊列中&a…

C語言 取模運算 保證正數,c語言的取模運算

我們對C的%運算知多少呢&#xff1f;當是正整數時&#xff0c;可能大家都知道。例如&#xff1a;5%3等于2, 3%5等于3。當存在負數時呢&#xff1f;先看看例子&#xff1a;例一&#xff1a;int main(){int x;x -6%5; printf("%2d/n",x);x 6%-5; printf("%2d/n&…

操作系統上機題目(多線程2)

主線程創建4個子線程T1、T2、T3、T4&#xff0c;主線程在4個子線程退出后&#xff0c;才退出線程T1、T2、T3、T4的運行時代碼如下&#xff1a; #include <unistd.h> // sleep函數聲明在該頭文件中void *T1_entry(void *arg) {sleep(2); // 睡眠2秒&#xff0c;不準刪除…

圖形GUI名稱

15句柄圖形(Handle Graphics)15.1圖形窗的產生和控制(Figure window creation and control)clf 清除當前圖close 關閉圖形figure 打開或創建圖形窗口gcf 獲得當前圖的柄openfig 打開圖形refresh 刷新圖形shg 顯示圖形窗15.2軸的產生和控制(Axis creation and control)axes 在任…

c語言編程非線性方程求解,c語言計算機編程三種方法求解非線性方程.doc

c語言計算機編程三種方法求解非線性方程.doc本 科 專 業 學 年 論 文題 目非線性方程求解比較姓 名 何 娟 專 業 計算機科學技術系 班 級 08 級本科(2)班 指 導 老 師 劉 曉 娜 完成日期 2010 年 11 月 21 日計算機學年專業論文 非線性方程求解- 1 -題 目非線性方程求解比較摘 …