單鏈表刪除所有值為x的元素 順序表基本操作上機實驗

2021-10-11 02:33:56 字數 1226 閱讀 9509

理解線性結構的基本概念,掌握兩種基本的儲存結構:順序儲存結構(順序表)和鏈式儲存結構(單鏈表);用c語言實現在兩種儲存結構上的對應操作(包括建立、刪除插入元素、遍歷等),鞏固強化c程式設計的基本方法和能力。

完成順序表的建立、元素刪除、遍歷等操作,具體內容如下:

有序的一組整數{1,2,3,4,6},設計順序表並實現以下操作:

a.初始化乙個空的順序表;

b.從鍵盤依次輸入上述資料新增到順序表中;

c.刪除表中的第四個資料元素;

d.顯示b、c操作後順序表中的內容。

#include #define listsize 100 //表空間的大小

typedef int datatype;//資料型別

typedef int status;

//定義順序表結構體

typedef struct

sqlistnode,*sqlist;

//順序表的初始化

void initsqlist(sqlist l)//順序表的初始化即將表的長度置為0

status delete(sqlist l,int i)

l->length--;

return 1;

}int insert_sl(sqlist l,int i,datatype x)//按位置插入資料,i-指定插入位置(i前面插入),x-插入值

if(i<1 || i>listsize)//檢驗插入元素是否合法

else

l->data[i-1]=x;//插入資料元素

l->length++;//表長加1

} return 1;

}int sqlistprint(sqlist l)//列印順序表

printf("順序表:n");

for(i=0;ilength;i++)

printf("%d ",l->data[i]);

printf("n");

return 1;

}int main()

sqlistprint(lp);//列印順序表

printf("請輸入您要刪除的位置:");

scanf("%d",&delete_location);

printf("n");

isdeleted=delete(&l,delete_location);

if(isdeleted)

return 1;

}

刪除單鏈表中所有值為x的元素

刪除所有值為x的單鏈表中的元素 首先,我們先考慮第一種情況,就是說值刪除第乙個值為x的元素,這個比較簡單,只需要挨個比較x和鍊錶節點的值,找到值相同的節點的前乙個就可以刪除這個節點了。然後我們可以考慮兩種辦法第一種就是遞迴的去刪除,這個比較簡單,只需要刪除第乙個值和我們要刪除的值一樣的節點,然後把下...

遞迴刪除單鏈表中所有值為x的元素 單鏈表逆序

有解釋,可能一開始看不到,更著動手多敲幾遍就能掌握了。加油。題目描述 給定乙個帶頭結點的單鏈表,請將其逆序。即如果單鏈表原來為head 1 2 3 4 5 6 7,那麼逆序後變為head 7 6 5 4 3 2 1。先定義好鍊錶結構 coding utf 8 思路 1 首先將1 2 3 4變成1 4...

DS 003 順序表 刪除所有值為x的元素

題目 長度為n的順序表l,編寫乙個時間複雜度為o n 空間複雜度為o 1 的演算法,該演算法刪除線性表中所有值為x的資料元素。演算法思想 用k記錄不等於x的元素個數,即需要儲存的元素個數。邊掃瞄l邊統計k,並將不等於x的元素向前放置k位置上,最後修改l的長度。void del x sqlist l,...