線性表順序結構增刪改查

2021-08-08 16:37:39 字數 2686 閱讀 9355

上次的部落格我寫了對於線性表的兩種簡單實現,今天我寫一下對於線性表順序結構的增、刪、改、查的幾種方式的實現。

#include

char v[30];

//上來你要設定乙個陣列來儲存你的資料,這個陣列的長度一定要大於你的資料個數。

int n;

void build();//宣告

兩個函式

乙個是建立這個陣列來儲存資料

void display();

//宣告輸出函式

void main()

//主函式

void build()//構造字母表 }

void display()//字母表的顯示

printf("\n"); }

這是上次所編寫的程式,我們會在他的基礎之上增加四種功能的語句。

void insert()

int i,j;

char ch;

printf「輸入你要插入的位置」;

scanf(「

%d」,

&i);

getchar();

scanf(「

%c」,

&ch);

for(

j=0;

v[j]

!=null

;j++)

int a=0;

a++;

if(a<=30)

for(j=a-1;j>=i-1;j++)

v[j+1]=v[j];

v[i]=(char)ch;

display();

else

printf(「記憶體不足無法儲存」);

void chang()

int i;

char ch;

printf(「你要更改第幾個資料」);

scanf(「%d」,&i);

getchar();

printf(「請輸入更改之後的資料」);

scanf(「%c」,&ch);

for(

j=0;

v[j]

!=null

;j++)

int a=0;

a++;

if(a<=30)

v[i-1]=(char)ch;

display();

else

printf(「記憶體不足無法儲存」);

void delete();

int i;

printf(「請輸入你要刪除的資料」);

scanf(「%d」,&i);

getchar();

for(

j=0;

v[j]

!=null

;j++)

int a=0;

a++;

if(a<=30)

for(j=a-1;j>=i-1;j++)

v[j]= v[j+1];

display();

我相信大部分人看了這個程式都是可以理解的,並不是很難。大多數人沒有寫出來的原因是因為,沒有想好怎麼去實現這些功能。c語言基礎很差是乙個很大的問題。對於資料結構的學習,必須要精通一門語言,無論哪一門並沒有具體要求。

這個程式可能很多人不理解,為什麼要在所有的  scanf(「%d」,&i);

後邊加了乙個getchar。

這是不輸入getchar的程式。在這裡我簡單解釋一下,對於

%d這個取值來說,他是不取回車鍵的,也就是說,當你在取

%d的時候如果你輸入回車他就會自動停止,但是對於

%c來說,回車對他來說就是乙個普通的字元,他就會記錄到其中,也就是說如果不加入

getchar

這個語句。回車就會被

%c所吸取,

%c中的值就是回車。隨意就會出現上述的情況。所以就需要乙個

getchar

來專門吸收回車乙個多餘的數值。

為了方便大家看清我將更改的增加的都設定為數字,這樣方便大家來看。

#include

char v[30];

int n;

void build();//宣告

void display();

void change();

void insert();

void delete();

void main(void)

void build()//構造字母表

}void display()//字母表的顯示

printf("\n");

}void insert()//插入字母

for (j = a - 1; j >= i - 1; j--)

v[i] = (char)ch;

display();

}void change()//修改字母

if (i>a || i <= 0)

else

//列印

display();

}void delete()//刪除字母

for (j = i - 1; j + 1 <= a; j++)

//列印

display();

}

線性表 順序表的增 刪 查

include define max size 100 順序表的結構體定義 typedef struct sequence listsequence list 考試時常用 int a max size int n 不用結構體 找到遞增有序的sl中第乙個比x大的元素的下標 因為不改變sl內容所以是值傳...

資料結構 增刪改查(靜態順序表 動態順序表)

靜態順序表實現增刪改查的所有 pragma once include include include include typedef int datatype define max size 100 typedef struct seqlist seqlist 初始化 void seqlistini...

動態順序表的增刪改查

順序表還是相對於比較簡單的資料結構,所謂動態,不過是在初始化時 賦予動態空間,所以說,就直接看 了。標頭檔案 pragma once sequence list define crt secure no warnings 1 include include include include typed...