C++ 數據結構概念
數據結構起源
計算機從解決數值計算問題到解決生活中的問題
現實生活中的問題涉及不同個體間的復雜聯系
需要在計算機程序中描述生活中個體間的聯系
數據結構主要研究非數值計算程序問題中的操作對象以及它們之間的關系
不是研究復雜的算法
數據結構中的基本概念
數據 – 程序的操作對象,用於描述客觀事物 (int a, int b,)
數據的特點:
可以輸入到計算機
可以被計算機程序處理
數據是一個抽象的概念,將其進行分類后得到程序設計語言中的類型。如:int,float,char等等
數據元素:組成數據的基本單位
數據項:一個數據元素由若干數據項組成
數據對象 – 性質相同的數據元素的集合 (比如:數組,鏈表)
#define _CRT_SECURE_NO_WARNINGS #include <iostream> #include <string> struct _MyTeacher // 一種數據類型 { char name[32]; char tile[32]; char addr[128]; int age; }; void mytest() { _MyTeacher t1; // 數據元素 _MyTeacher tArray[30]; // 數據對象 形式相同元素的集合 memset(&t1, '\0', sizeof(t1)); strcpy(t1.name, "name"); // 數據項 strcpy(t1.addr, "addr"); // 數據項 strcpy(t1.tile, "title"); // 數據項 t1.age = 1; // 數據項 return; } int main() { mytest(); system("pause"); return 0; }
數據元素之間不是獨立的,存在特定的關系,這些關系即結構
數據結構指數據對象中數據元素之間的關系
如:數組中各個元素之間存在固定的線性關系
編寫一個“好”的程序之前,必須分析待處理問題中各個對象的特性,以及對象之間的關系。
基本概念總結:
數據的邏輯結構
指數據元素之間的邏輯關系。即從邏輯關系上描述數據,它與數據的存儲無關,是獨立於計算機的。邏輯結構可細分為4類:
數據的物理結構
數據的運算