1. 程式人生 > >C語言順序表的插入、刪除、查詢操作實現

C語言順序表的插入、刪除、查詢操作實現



//順序表的插入、刪除、查詢操作實現
#include<stdio.h>
#include<stdlib.h>
#define InitSize 10
#define MaxSize 50
//#define bool int
//#define true 1
//#define false 0
typedef int ElemType;


typedef struct
{
ElemType *data;
int length;
}SqList;



//插入操作,
void ListInsert(SqList &L,int i,ElemType e)
{


if(i<1 || i>L.length+1)
//return 0;
if(L.length >= MaxSize)
//return 0;
for(int j=L.length;j>=i;j--)
L.data[j] = L.data[j-1];
L.data[i-1] = e;
L.length++;
printf("%d\n",L.data[i-1]);
//return 1;


}


//刪除操作
void ListDelete(SqList &L,int i)
{
if(i<1 || i>L.length)
//return 0;
for(int j=i; j<L.length; j++)
L.data[j-1] = L.data[j];
L.length--;
printf("%d\n",L.data[i-1]);
//return 1;
}


//按值查詢
int LocateElem(SqList L,ElemType e)
{
int i;
for(i=0; i<L.length; i++)
if(L.data[i] == e)
return i+1; //返回元素e的位號
return 1000; //退出迴圈,說明查詢失敗
}


void main()
{


SqList L;
int c;
L.data = (ElemType*)malloc(sizeof(ElemType)*InitSize);     //初始化的動態分配
ListInsert(L,8,9);
ListDelete(L,8);
c = LocateElem(L,9);
printf("%d\n",c);

}

執行結果:


相關推薦

C語言順序插入刪除查詢操作實現

//順序表的插入、刪除、查詢操作實現 #include<stdio.h> #include<stdlib.h> #define InitSize 10 #define MaxSize 50 //#define bool int //#define

c語言:順序實現(一) 建立,插入刪除查詢,輸出等基本操作實現

#include<iostream> #include<stdio.h> #define LIST_INIT_SIZE 100 #define LIST_INCREMENT 10 using namespace std; struct Sqlist{

C語言順序插入刪除

首先宣告一個順序表的結構 (陣列的第一個元素是0,但是順序表的第一個一般 從1(人為設定)開始) #include <stdio.h> #include <stdlib.h> #define MAXSIZE 10 #define OK 1 #d

C語言順序的簡單實現

  今天剛學了資料結構,老師教的我是雲裡霧裡的,晚上回來自己又教程視訊,不管怎麼說算是簡單的實現了順序表的一些簡單功能。   順序表裡的難點有向順序表裡插入元素,刪除元素,查詢元素位置這幾個函式比較難寫,我自己根據這幾個難點做了幾個圖片來解釋這幾個功能的具體實現:

資料結構--C語言--順序元素的逆置

#include<stdio.h> #include<stdlib.h> #define OK 1 #define OVERFLOW 0 #define LIST_INIT_SIZE 10 #define LISTINCREMENT 5 typedef struct{

C語言——順序和單鏈的逆置

順序表的逆置 #include<stdio.h> #include<stdlib.h> #define MAX 100 typedef struct node { int num[MAX]; int length; } *Link, Node;

C語言順序

結構體宣告: typedef struct Listable{//宣告結構體 int * head; int length; int size; }listable;  順序表的建立: //建立順序表函式 listable establash(){ listable

c語言順序的基本操作

下面是順序表的基本操作,c語言版的資料結構書上寫的操作都實現了因為總體程式碼太長如果寫在一個class中要近500行,閱讀和修改都不方便,所以採用分開寫,希望大家以後寫較長的程式時也採用這種方法,自己執行的所有功能都能實現,而且個人感覺介面還是比較人性化的,大家還有什麼意見或

C語言單鏈的建立插入查詢刪除求長排序遍歷

1.定義連結串列節點 typedef struct Node { int data; struct Node *pNext; }NODE, *PNODE;2.連結串列的建立 PNODE crea

C語言 有序雙鏈實現插入刪除列印(正反)等簡單操作

1.雙鏈表與單鏈表的區別主要是在於雙鏈表中,每個節點都包含兩個指標——指向前一個節點的指標,和指向後一個節點的指標。這就便於我們從任何方向遍歷整個連結串列。 下面是節點型別的說明: typedef

單鏈順序插入刪除查詢/code/c&c++

#include<stdio.h> #include<stdlib.h> #define MAXLEN 20 typedef struct node {int data;node * next; }node; void Createnode(node

循環鏈的創建插入刪除逆序顯示(C++實現

i++ pos str pre hide mar add 這樣的 itl 對於單鏈表,因為每一個結點僅僅存儲了向後的指針。到了尾標誌就停止了向後鏈的操作,這樣,其中某一結點就無法找到它的前驅結點了。 對於單鏈表的操作大家能夠看我的這篇博客http://

二叉查詢樹的查詢插入刪除釋放等基本操作實現C語言

二叉查詢樹是一種特殊性質的二叉樹,該樹中的任何一個節點,它的左子樹(若存在)的元素值小於節點的元素值,右子樹(若存在)的元素值大於節點的元素值。 實現了二叉樹查詢樹的實現以及基本操作,包括查詢、插入、刪除、初始化、釋放等。 原始碼下載地址:http://download.c

二叉查詢樹(二叉排序樹)建立插入刪除查詢-C語言

二叉查詢樹:或者是一顆空樹;或者是具有以下性質的二叉樹:(1)若它的左子樹不為空,則左子樹上所有結點的值都小於根結點的值;(2)若它的右子樹不為空,則右子樹所有結點的值均大於它的根結點的值;(3)左右子樹分別為二叉查詢樹; #include <std

C語言)連結串列的建立遍歷插入刪除

作者:翁鬆秀 (C語言)連結串列的建立、遍歷、插入和刪除 (C語言)連結串列的建立、遍歷、插入和刪除 連結串列結構定義

平衡二叉樹的C語言實現(建立插入查詢刪除旋轉)【資料結構】

平衡二叉樹(AVL)或者是一顆空樹,或者是具有下列性質的非空二叉搜尋樹: (1). 任一結點的左、右子樹均為AVL樹; (2). 任一結點的左、右子樹高度差的絕對值不超過1。 對於二叉樹中任一結點T,其“平衡因子”(Balance Factor, BF)定義為BF(T)

順序的初始化插入刪除

昨天晚上做了中移動蘇州軟體公司的暑期實習崗的筆試題,感覺備受打擊,尤其是自以為是的資料結構題(從快排、歸併排序、堆排序中選一種實現),碎決定再次學習資料結構一次,並將重要的資料結構用程式實現。 這裡先實現的是順序表的初始化,插入和刪除操作。 #include<iostream&g

c語言實現二叉樹的插入查詢刪除列印樹

目錄: 二叉樹的關鍵概念: 每個節點是一個自引用結構體,形式如下: struct TreeNode { struct TreeNode *leftPtr; /* pointer to left subtree */

C語言版)連結串列(一)——實現單向連結串列建立插入刪除等簡單操作(包含個人理解說明及註釋,新手跟著寫程式碼)

我學習了幾天資料結構,今天下午自己寫了一個單向連結串列的程式。我也是新手,所以剛開始學習資料結構的菜鳥們(有大牛們能屈尊看一看,也是我的榮幸)可以和我一起共同學習、討論,當然也很高興能指出我的錯誤,因為這是我們一起成長的過程。本程式碼包含我在寫程式時的一些個人理解的說

自己寫的順序的基本操作插入刪除修改,給出完整程式碼,其中運用到goto語句

#include<iostream> using namespace std; #define MAXSIZE 100 typedef int DataType; typedef struct {DataType data[MAXSIZE]; //通常用一位陣列