1. 程式人生 > >資料結構學習筆記--線性表

資料結構學習筆記--線性表

線性表的程式碼

標頭檔案

#define MAXSIZE 100
typedef int DataType;
typedef struct 
{
	DataType Data[MAXSIZE];
	int length;
}SqList;

void InitSqList(SqList &L)
{
	L.length=0;
}

void InsertSqList(SqList &L,int i,int  x){
//	printf(" %d",L.length);
	if(L.length==MAXSIZE){
		printf("Sqllist is full!\n");
		exit(1);
	}
	if(i<1||i>L.length+1){
		printf("位置之不存在\n");
		exit(1);
	}
	for(int j=L.length-1;j>=i-1;j--){
		L.Data[j+1]=L.Data[j];
		L.Data[i-1]=x;
		L.length++;
	}
}

void DeleteSqList(SqList &L,int i)
{
	if(L.length=0){
		printf("SqList is empty!");
			exit(1);
	}
	if(i<1||i>L.length){
		printf("\nposition don't exist!\n");
		exit(1);
	}
	for(int j=i;j<=L.length;j++){
		L.Data[j]=L.Data[j-1];
		L.length--;
	}
}

	int Location(SqList &L,int x)
	{
		for(int j=0;j<L.length;j++)
			if(L.Data[j]==x)return j+1;
		return -1;
	}

	void DisplaySqList(SqList L){
		for(int j=0;j<L.length;j++){
			if(j==0)printf("%d",L.Data[j]);
			else printf(" %d",L.Data[j]);

		}
		printf("\n");
	}

測試原始碼

#include<stdio.h>
#include<stdlib.h>
#include"SqList.h"

void main(){
	SqList L;
	InitSqList(L);
	InsertSqList(L,1,111);
	InsertSqList(L,2,222);
//	InsertSqList(L,3,333);
	DisplaySqList(L);
	getchar();getchar();

}

相關推薦

資料結構學習筆記——線性之順序(c語言實現)

1.概念 順序表即線性表的順序儲存結構 ,指的是用一段地址連續的儲存單元依次儲存線性表資料元素。線上性表中,每個資料元素的型別都相同,一般可以用一維陣列來實現順序儲存結構。 2.實現 (1)建立順序表的結構 利用c語言結構體來建立順序表的結構,順序表結構體中

資料結構學習筆記-線性順序儲存(C語言實現)

寫了一天,終於將線性表的順序儲存實現了,順便惡補了一下指標內容。順序儲存,適合做查詢,鏈式儲存適合做增刪。新增方法主要就是將線性表從後往前遍歷,依次往後挪一位,直到空出想要插入的位置,刪除方法就是將線性表從要刪除的地方往後遍歷,依次往前挪一位。#include <std

資料結構學習筆記--線性

線性表的程式碼 標頭檔案 #define MAXSIZE 100 typedef int DataType; typedef struct { DataType Data[MAXSIZE];

數據結構學習筆記-----------------線性

數據結構線性結構的特點:在數據的非空有限集中一、存在唯一一個被稱為“第一個”的數據元素二、存在唯一一個被稱為“最後一個”的數據元素三、除第一個之外,集合中每個數據元素均只有一個前驅四、除最後一個之外,集合中每個數據元素均只有一個後繼一個線性表是n個數據元素的有限序列序偶關系:兩個固定次序的客體組成一個序偶,它

1.資料結構學習線性(一)

開篇:資料結構是程式應用裡基礎的學科。 官方來說,資料結構是計算機儲存、組織資料的方式。 資料結構有著非常重要的重用,如果理解並且掌握它,在我們的學習或者工作中的開發會事半功倍。 接下來,開始我們的資料結構學習之路吧。(程式碼為C#形式)   1.什麼是線性表? 線性表是最基本、

資料結構學習筆記線性

一、概念 什麼是線性表呢? 一個簡單的理解如下: 線性表是由稱為元素(Element)的資料項組成的一種有限且有序的序列 其中,這裡有一個需要注意的地方: 有序是指線性表中的每個元素都有自己的位置,而不是指線性表中的元素按某種順序排列 二、抽象資料型別定義 要給資料結構定

資料結構學習筆記-03-線性及其實現

線性表的順序儲存實現 typedef struct LNode *list; struct LNode { ElementType Data[MAXSIZE]; int Last; }; struct LNode L; List Ptrl; 初始化: List MakeE

資料結構學習筆記6--線性易錯知識點總結

最近通過刷題,對線性表有了更為深刻的瞭解,為了防止自己忘記,決定整理一下所碰到的知識點,留待複習回顧。 重要概念: 1.結點:包含了資料域和指標域,其中指標域用來儲存下一個節點的地址。 2.頭指標和頭

資料結構學習筆記Day2-單鏈(用java實現)

一、首先說一下線性表 1. 什麼是線性表,線性表的邏輯特性? 1)有一個頭(表頭),有一個尾(表尾) 2)表頭與表尾之間的元素有且只有一個前驅元素,有且只有一個後繼元素 2.線性表有兩種儲存方式? 順序表和連結串列 3.順序表和連結串列的區別? 1)順序表是一邊

資料結構學習筆記(四) 圖之鄰接實現深度優先遍歷

一下是使用鄰接表儲存表示,實現圖的深度優先遍歷的示例。 用於遍歷的有向圖如下: #include<iostream> #define MaxVertexNum 6 using namespace std; //抽象資料型別 typedef c

資料結構 學習筆記(三):線性結構:堆疊,佇列,表示式求值,多項式加法運算

前言 2.2 堆疊 2.2.1 什麼是堆疊 計算機如何進行表示式求值? 【例】算術表示式5+6/2-3*4。正確理解: 5+6/2-3*4=5+3-3*4=8-3*4=8-12=-4 由兩類物件構成的: 運算數,如2、3、4 運算子號

資料結構學習筆記(1.大O表示法和順序)

  最近在看國嵌唐老師的資料結構視訊,覺得還不錯,所以就把筆記記錄下來本節知識點:1.資料之間的邏輯結構:   集合結構:資料元素之間沒有特別的關係,僅同屬相同集合   線性結構:資料元素之間是一對一的關係   樹形結構:資料元素之間存在一對多的層次關係   圖形結構:資料元

考研資料結構複習之線性(二)

單鏈表的學習 #pragma once typedef char DataType; class SSeqListTest { public: SSeqListTest(); ~SSeqListTest(); }; typedef struct Node {

考研資料結構複習之線性

線性表之順序表學習 #pragma once #define MaxListSize 100 typedef int DataType; class SeqListTest { public: SeqListTest(); ~SeqListTest(); }; ty

學好資料結構和演算法 —— 線性

線性表   線性表表示一種線性結構的資料結構,顧名思義就是資料排成像一條線一樣的結構,每個線性表上的資料只有前和後兩個方向。比如:陣列、連結串列、棧和佇列都是線性表,今天我們分別來看看這些線性資料結構。 陣列 陣列是一種線性表資料結構,用一組連續的記憶體空間來儲存一組具有相同型別的資料。 記憶體分

資料結構基礎之線性(下)

轉自:http://www.cnblogs.com/edisonchou/p/4614934.html   線性表(下) 在上一篇中,我們瞭解了單鏈表與雙鏈表,本次將單鏈表中終端結點的指標端由空指標改為指向頭結點,就使整個單鏈表形成一個環,這種頭尾相接的單鏈表稱為單迴圈連結串列

資料結構與演算法——線性(一)

#include <stdio.h> #include <stdlib.h> #define LIST_INIT_SIZE 200 #define LISTINCREASE 10 #define ERROR 0 #define OK 1 typedef int Elemt

【C#】【資料結構】001-線性:順序

C#資料結構:順序表結構 1、自定義順序表結構 using System.Collections; using System.Collections.Generic; /// <summary> ///線性表介面 /// </summary> /// <type

資料結構之廣義線性

陣列(定義、順序儲存結構) 矩陣的壓縮儲存 廣義表 陣列的順序儲存(將二維的陣列壓縮要一維儲存) 行優先,低下標(aij的位序為k<以1作為開始>,每行n個元素): k = (i - 1) * n + (j - 1) + 1 = (i

【C#】【資料結構】002-線性:單鏈

C#資料結構:單鏈表 1、自定義單鏈表結構: 單鏈節點類 using System.Collections; using System.Collections.Generic; using UnityEngine; /// <summary> /// 單鏈表節點 ///