單鏈表的插入操作
//在帶頭結點的單鏈表線性表L中第i個位置之前插入元素e Status ListInsert(LinkList L,int i,ElemType e) { Status flag = OK ; int j=0 ; LinkList p = L,s ; while(p&&j<i-1) //尋找第i個結點 { p = p->next ; j++ ; } if(!p||j>i-1) flag = ERROR ;//i小於1或者大於表長 else { s = (LinkList)malloc(sizeof(struct LNode)) ; //生成新結點 s->date = e ;//插入L中 s->next = p->next ; p->next = s ; } return flag ; }
相關推薦
資料結構之單鏈表插入刪除操作
#include<iostream> using namespace std; typedef struct LNode { int data; struct LNode *next; }LNode; void createListR(LNode *C, int a[], int n
資料結構C++之單鏈表插入刪除操作
#include<iostream> using namespace std; typedef struct LNode { int data; struct LNode *next; }LNode; void createListR(LNode *C, in
數據結構——單鏈表及其操作
位置 esp CA 註意 namespace 元素 tde 初始化 new 1 #include<iostream> 2 #include<string> 3 #include<stdlib.h> 4 5 usin
python 單鏈表的操作
單鏈表的基本操作 首先建立一個結點類的結構,以便後面的操作 class Node(object): def __init__(self,data): self.data=data self.next=None 建立一個連結串列類 cla
C 無頭結點單鏈表若干操作
顧名思義就是從一開就是有用的結點 文章目錄 定義結構體 建立 輸出連結串列的值 在第i個位置前插入 刪除第i個節點 頭插法 尾插法 完整程式程式碼 定義結構體 typedef struct Node {
單鏈表 基本操作(元素遞增排序)
題目描述: 有一個帶頭節點的單鏈表L(至少有一個數據節點),設計一個演算法使其元素遞增有序排列。 解題思路: 由於單鏈表L中有一個以上的資料節點,首先構造一個只含有頭結點和首節點的有序單鏈表(只含有一個數據節點的單鏈表一定是有序的),然後掃描單鏈表L餘下的節點(由P指向),在有序單鏈表中
單鏈表基本操作(刪除連結串列中最大元素)
題目描述: 設計一個演算法,刪除一個單鏈表L中元素值最大的節點(假設這樣的節點唯一) 解題思路: 在單鏈表中刪除一個節點先要找到它的前驅節點,用指標p掃描整個單鏈表,pre指向節點p的前驅節點,在掃描時用maxp指向data域值最大的節點,maxpre指向maxp所指節點的前驅節點,當連
單鏈表 簡單題(單鏈表基本操作)
題目描述: 有一個帶頭結點的單鏈表L=(a1,b1,a2,b2,......an,bn),設計一個演算法將其拆分成兩個帶頭結點的單鏈表L1和L2,其中L1=(a1,a2,a3...an),L2=(b1,b2,b3....bn),要求L1使用L的頭結點。 解題思路: 利用原單鏈表L中的所有
C 資料結構中單鏈表基本操作
C中的typedef C中的typedef關鍵字作用是為一種資料型別定義一個新名字,這樣做的目的有兩個,一是給變數定義一個易記且意義明確的新名字,如: typedef unsigned char BYTE; 把unsigned char型別自命名為BYTE。另一個目的是
資料結構順序表元素整體互換和單鏈表插入練習
線性表用順序儲存,設計一個演算法,用盡可能少的輔助儲存空間將順序表中前m個元素與後n個元素進行整體互換,即將線性表 (a1,a2,a3,......,am,b1,b1,b3,......,bn) (b1,b2,b3,.......,bn,a1,a2,a3,.......,am)
用Python實現單鏈表的操作
直接看程式碼: class Node(object): def __init__(self,elem): self.elem=elem self.next=None class SingleLinkList(object):
單鏈表各種操作(逆向列印以及逆轉)的c++實現
#include <iostream> using namespace std; class Node; class List{ public: List(void):m_head(NULL),m_tail(NULL){} &
單鏈表的操作
#include<stdio.h> #include<stdlib.h> typedef int LElemType; typedef struct LNode{ LElemType date; struct LNode *next; }
【資料結構】單鏈表-----基本操作
刪除指定位置的節點 void Erase(pList * pplist, pNode pos) { assert(pplist != NULL); assert(pos != NULL); if (*pplist == pos)//如果指向第一個節點
遞迴演算法求單鏈表的操作
#include<stdio.h> typedef struct Node{ int data; struct Node *next; }Node,*LinkNode; int maxLinkNode(LinkNode L); int AllNo
真題2004 單鏈表插入新元素仍為有序表
題目:設有序表(遞增)以帶表頭結點的單鏈表儲存。請設計一個函式,實現在該表中插入一個新元素的操作。要求插入後仍為有序表。其結點結構如圖所示。 typedefstructLNode{ intdata; structLNode*next; }LNode,*Li
資料結構篇:單鏈表基礎操作(二)
已知帶頭結點的單鏈表,存放一組整型數 ①建立n個元素的單鏈表 ②計算連結串列中值大於x的結點的個數,int countx(lnode *head,int x) ③兩個連結串列ha,hb存放整型數,每個連結串列中無相同元素,hc=ha∩hb,即ha和hb中相同元素放入hc中,v
c++學習筆記—單鏈表基本操作的實現
用c++語言實現的單鏈表基本操作,包括單鏈表的建立(包括頭插法和尾插法建表)、結點的查詢、刪除、排序、列印輸出、逆置、連結串列銷燬等基本操作。 IDE:vs2013 具體實現程式碼如下: #include "stdafx.h" #include <malloc.h
單鏈表基本操作java實現
單鏈表基本操作 - java實現 1.單鏈表學習了好久,今天終於有時間寫一下了,帶頭結點的單鏈表上的基本操作,Java實現。 (1) 先來個介面 public interface IList { public void clear(); //清空連結串列 publi
Java單鏈表基本操作(七)--排序
單鏈表的插入排序比陣列麻煩,因為每次都都要從頭節點開始往後遍歷,頭節點也需要單獨處理 package listnode; /** * @author Gavenyeah * @date St