C語言線性表的簡單建立和操作
留作學習參考
#include<stdio.h>
#include<stdlib.h>
#define MAXSIZE 100
typedef struct SqList *List; //建立一個結構體指標型別 指向結構體
struct SqList
{
int Data[MAXSIZE];//建立陣列 elementType是一個型別 elementType Data[MAXSIZE];
int Last; //最後一個元素的位置
} L;
List MakeEmpty() ///初始化 建立空表
{
List list;
list = (List)malloc (sizeof(struct SqList));
list->Last = -1; //因為第一個元素是0,所以空表的最後一個元素就應該為-1
return list;
}
int Find(int X,List list) //查詢list中的某個元素 X的位置
{
int i = 0;
while(i<=list->Last && list->Data[i]!=X ) //小於最後一個元素位置,並且沒有和查詢的元素相等,查詢下一個
{
i++;
}
if(i > list->Last)
{
return -1 ; //I已經大於最後一個元素的位置,說明沒找到,返回-1
}
else
{
return i ; //找到的位置
}
}
void Insert(int X,int i,List list) //在第i個位置插入
{
int j;
if(list->Last==MAXSIZE-1) //表滿了
{
printf("表已經滿了");
return;
}
if(i<1||i>list->Last+2) //插入位置不對
{
printf ("位置錯誤");
return;
}
for(j=list->Last;j>=i-1;j--) //移動騰出空位
{
list->Data[j+1] = list->Data[j];
}
list->Data[i-1] = X; //插入新元素
list->Last++; //指向新的最後一個元素位置
return;
}
void Delete(int i, List list)
{
int j;
if(i<1||i>list->Last+1) //檢查位置
{
printf("不存在第%d個元素",i);
return;
}
for(j=i;j<=list->Last;j++)
{
list->Data[j-1] = list->Data[j]; //向前移動補空位
}
list->Last--; //指向新的最後一個元素位置
return;
}
int main()
{
List list;
list = MakeEmpty();
int i;
list->Last = 9 ;
for(i = 0;i<10;i++)
{
list->Data[i] = i ;
}
for(i = 0;i<10;i++)
{
printf("第%d個數字是%d",i,i);
}
}
相關推薦
C語言線性表的簡單建立和操作
留作學習參考 #include<stdio.h> #include<stdlib.h> #define MAXSIZE 100 typedef struct SqList *List; //建立一個結構體指標型別 指向結構體 s
C語言 線性表的操作~(未完)
#include <stdio.h> #include <malloc.h> typedef struct{ int *elem; //基地址 int length; int listsize; }Seqlist;//定義Seq這個新的資料
資料結構 筆記:線性表的本質和操作
線性表(List)的表現形式 -零個或多個數據元素組成的集合 -資料元素在位置上是有序排列的 -資料元素的個數是有限的 -資料元素的型別必須相同 線性表(List)的抽象定義 線性表是具有相同型別的n( >= 0)個數據元素的有限序列 線性表(List)的性質
c語言——線性表之順序結構
#include <stdio.h> #include <stdlib.h> #include <conio.h> //線性表——順序儲存 #define LIST_INIT_SIZE 10 #define LISTINCREMENT 10 #define ERR
c語言--線性表的順序儲存
實現線性表建立、插入、刪除、查詢和顯示線性表中元素等基本操作 #include "stdio.h" #include "malloc.h" #define MAXSIZE 200 //線性表允許的最大長度 #define datatype in
c語言--線性表的鏈式儲存
#include "stdio.h" #include "malloc.h" #define datatype int #define ERROR 0 #define OK 1 typedef int ElemType; typedef struct no
C語言線性表的順序儲存(一)各種新增刪除
順序儲存結構的處理 什麼是順序儲存結構? 順序儲存結構是儲存結構型別中的一種,該結構是把邏輯上相鄰的結點儲存在物理位置上相鄰的儲存單元中,結點之間的邏輯關係由儲存單元的鄰接關係來體現。檢視具體. 順序表的儲存示意圖 程式碼操作 初始化線性表 //初始化連結串
資料結構 C語言 線性表 順序表 實現2
話不多說,先上main函式流程圖 main流程圖方便看程式進行狀態。原本是想將所有的基礎資料結構寫完以後再傳的,可我等不及了,不寫點東西就感覺啥都沒做一樣。 將程式碼集中在一個檔案了,方便傳送和閱讀一些。 #include <stdio.h> #include <stri
資料結構 C語言 線性表 順序表 實現
#include<stdio.h> #include<stdlib.h > /* C提供三種預處理。巨集定義、檔案包含、條件編譯 。 巨集 定 義:又稱為巨集代換、巨集替換,簡稱“巨集”。巨集定義格式:#define 識別符號 字串 檔案包含:#include<***
C語言中棧的建立和應用
棧的特點為: 先進後出(first in last out)。 棧中有兩個指標,棧頂指標和棧尾指標。其中,棧尾指標是不動的。用棧頂指標等於棧尾指標來判定棧是否為空。壓棧時,將棧頂指標+1,然後將資料存
C語言單鏈表的建立、插入、查詢、刪除、求長、排序、遍歷
1.定義連結串列節點 typedef struct Node { int data; struct Node *pNext; }NODE, *PNODE;2.連結串列的建立 PNODE crea
C語言中樹的建立和遍歷
樹的遍歷分為三種:前序遍歷(根左右),中序遍歷(左根右),後序遍歷(左右根)。 PS:根左右,就是先遍歷根節點,然後是左子樹,最後是右子樹。如下圖: 前序遍歷:ABDECF。 中序遍歷:DBEACF
C語言連結串列的建立和遍歷
連結串列是一種常見的重要的資料結構。它是動態地進行儲存分配的一種結構。它可以根據需要開闢記憶體單元。連結串列有一個“頭指標”變數,以head表示,它存放一個地址。該地址指向一個元素。連
Mr.J--C語言頭函式的建立(附嚴薇敏《資料結構》線性表程式碼)
如何正確編寫 C 語言標頭檔案和與之相關聯的 c 源程式檔案 檢視此文章需要有一定的C語言程式設計基礎 首先就要了解它們的各自功能。要理解C 檔案與標頭檔案(即.h)有什麼 不同之處,首先需要弄明白編譯器的工作過程。 一般說來編譯器會做以下幾個過程: 1.預處理階段 2
資料結構c語言版 嚴蔚敏 順序線性表12個基本操作及演算法的實現
標頭檔案: c1.h (相關標頭檔案及函式結果狀態程式碼集合) /* c1.h (程式名) */ #include<string.h> #include<ctype.h> #include<malloc.h> /
線性表的建立————C語言資料結構學習
#include <stdio.h> #include <malloc.h> #define MaxSize 50 typedef int ElemType; typedef struct { ElemType data[MaxSize];
順序表的建立和初始化過程詳解(C語言實現)
順序表存放資料的特點和陣列這種資料型別完全吻合,因此順序表的實現使用的是陣列。需要注意的是,使用陣列實現順序表時,一定要預先申請足夠大的記憶體空間,避免因儲存空間不足,造成資料溢位,導致不必要的程式錯誤甚至崩潰。 在建立順序表時,除了預先申請記憶體空間,還需要實時記錄順序表的長度和順序表本身申請的記憶體大
c語言:順序表的實現(一) 建立,插入,刪除,查詢,輸出等基本操作實現
#include<iostream> #include<stdio.h> #define LIST_INIT_SIZE 100 #define LIST_INCREMENT 10 using namespace std; struct Sqlist{
順序表的建立和翻轉 C語言實現
要把一個順序表就地逆置(輔助空間為o(1)),可以將表中的開始結點與終端結點互換,第二個結點和倒數第二個結點互換,如此反覆,就可以將整個表逆置了。 #include<stdio.h> #define ListSize 20 typedef int DataTy
oracle 檢視建立和操作,建立簡單,複雜的檢視,建立基表不存在的檢視,檢視增刪改,檢視檢視的結構...
轉載:http://heisetoufa.iteye.com/blog/364864 檢視的概念 檢視是基於一張表或多張表或另外一個檢視的邏輯表。檢視不同於表,檢視本身不包含任何資料。表是實際獨立存在的實體,是用於儲存資料的基本結構。而檢視只 是一種定義,對應一個查詢語句。檢視的資料都來自於某些表,這