摘要:序列中刪除指定數(shù)字程序創(chuàng)建一個(gè)數(shù)組輸入一個(gè)整數(shù)輸入個(gè)整數(shù)到數(shù)組里多組輸入輸入你想要?jiǎng)h除的數(shù)字遍歷數(shù)組如果不是我們想除的值,進(jìn)入語(yǔ)句為什么要這么寫,接著往下看自己給自己賦值,賦
#include int main(){ int arr[30] = { 0 };// 創(chuàng)建一個(gè)數(shù)組 int n = 0; int z = 0; scanf("%d", &n);// 輸入 一個(gè)整數(shù) n int i = 0; for (i = 0; i < n; i++)// 輸入 n(n<=30) 個(gè)整數(shù) 到數(shù)組 arr里 { scanf("%d", &arr[i]);// 多組輸入 } scanf("%d",&z);// 輸入你想要?jiǎng)h除的數(shù)字 int j = 0; for (i = 0; i < n; i++)// 遍歷數(shù)組 { if (arr[i] != z) // 如果不是我們想除的值,進(jìn)入 if 語(yǔ)句 // 為什么要這么寫,接著往下看 { arr[j++] = arr[i];// 自己 給自己賦值,賦完之后 j++,i 再 ++,這樣就能確保不會(huì)改變?cè)袛?shù)據(jù)的順序 } } for (i = 0; i < j; i++)// 打印數(shù)組(注意 i < j,等我下面講解,你就直接妙在那了 ) { printf("%d ", arr[i]); } return 0;}
?
for (i = 0; i < j; i++) // arr[j] 存放 j 個(gè) 元素, 下標(biāo)為 0 ~ j -1 細(xì)品?。?! { printf("%d ", arr[i]); } return 0;}
?
?
?
#include int main(){ int arr[30] = { 0 };// 創(chuàng)建一個(gè)數(shù)組 int n = 0; int i = 0; int j = 0; scanf("%d", &n);// 輸入一個(gè)整數(shù) n for (i = 0; i < n; i++) // 輸入 n 個(gè)整數(shù)到 數(shù)組里 { scanf("%d", &arr[i]); // 多組輸入 } for (i = 1; i < n; i++) // 作用: 我們只需要 它的 第一個(gè)元素 { // 有序數(shù)組: 升序 降序 // 升序: 后一個(gè)元素 比 前一個(gè)元素 大,以此類推 if (arr[i] >= arr[i - 1]) { for (j = i; j < n; j++)//遍歷數(shù)組,i = 1 方便 比較大小,來(lái)判斷 升序 { if (arr[j] < arr[j - 1])// 如果在 升序中 出現(xiàn)這種 相反情況的,那么它肯定不是升序數(shù)組,也不是降序 { printf("unsorted/n");// 所以輸出這條 unsorted 無(wú)序的 goto end;// 通過(guò)goto 直接跳到 return 0,程序結(jié)束 // 當(dāng)然 你也可以寫 return 0; 也是一樣 } } if (j == n)// 當(dāng)遍歷 數(shù)組 時(shí),意味著 數(shù)組 為升序 { printf("sorted/n");// sorted 有序的 goto end; } } // 降序 第二個(gè)元素 小于 第 一個(gè)元素,以此類推 else if (arr[i] <= arr[i - 1])// else if 是防止 你們有人使用break,如果是 if 的話, 跳出最近的循環(huán),會(huì)繼續(xù)進(jìn)行判斷,會(huì)出現(xiàn)意外情況,明明 是無(wú)序的,卻輸出 有序的(降序的) { for (j = i; j < n; j++)//遍歷數(shù)組,i = 1 方便 比較大小,來(lái)判斷 降序 { if (arr[j] > arr[j - 1])// 如果在 降序中 出現(xiàn)這種 相反情況的,那么它肯定不是降序數(shù)組,也不是升序 { printf("unsorted/n");// 所以 輸出 unsorted 無(wú)序的 goto end; } } if (j == n)// 當(dāng)遍歷 數(shù)組 時(shí),意味著 數(shù)組 為降序 { printf("sorted/n");// sorted 有序的 goto end; } } }end: return 0;}
?
#include #include int compare(const void* e1, const void* e2){ return *(int*)e1 - *(int*)e2;}int main(){ int n = 0; int m = 0; int a1[30] = { 0 }; int a2[30] = { 0 }; scanf("%d %d", &n, &m);// 輸出兩個(gè)整數(shù) n 和 m int i = 0; for (i = 0; i < n; i++)// 輸入 n 個(gè)整數(shù) 放進(jìn) 數(shù)組 a1 { scanf("%d", &a1[i]); } for (i = 0; i < m; i++)// 輸入 m 個(gè)整數(shù) 放進(jìn) 數(shù)組 a2 { scanf("%d", &a2[i]); } for (i = 0; i < m; i++)// 數(shù)組a1[n] 最后一個(gè)元素的下標(biāo)為 n-1,所以我們追加數(shù)組,應(yīng)該從下標(biāo) n 開(kāi)始賦值 追加數(shù)組 a2 { a1[n+i] = a2[i]; } qsort(a1, n + m, sizeof(int), compare);// 這里使用的qsort 進(jìn)行排序 注意添加頭文件 stdlib,h for (i = 0; i < (n + m); i++)//最后輸出一下數(shù)組a1就行了,因?yàn)?我們是把 a2 追加 給了 a1 { printf("%d ", a1[i]); } return 0;}
如果大家有什么新思維,可以在下方評(píng)論。
文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請(qǐng)注明本文地址:http://m.specialneedsforspecialkids.com/yun/119680.html
摘要:算法部分主要由頭文件組成。數(shù)值算法對(duì)容器內(nèi)容進(jìn)行數(shù)值計(jì)算。在指定范圍內(nèi)查找由輸入的另外一對(duì)標(biāo)志的第二個(gè)序列的最后一次出現(xiàn)。重載函數(shù)使用自定義比較操作。刪除指定范圍內(nèi)所有等于指定元素的元素。返回,指出序列中最小的元素。 STL算法部分主要由頭文件,,組成。要使用 STL中的算法函數(shù)必須包含頭文件,對(duì)于數(shù)值算法須包含,中則定義了一些模板類,用來(lái)聲明函數(shù)對(duì)象。 分類 STL中算法大致分為...
摘要:棧被稱為一種后入先出的數(shù)據(jù)結(jié)構(gòu)。散列使用的數(shù)據(jù)結(jié)構(gòu)叫做散列表。這些操作需要求助于其他數(shù)據(jù)結(jié)構(gòu),比如下面介紹的二叉查找樹(shù)。 前言 在過(guò)去的幾年中,得益于Node.js的興起,JavaScript越來(lái)越廣泛地用于服務(wù)器端編程。鑒于JavaScript語(yǔ)言已經(jīng)走出了瀏覽器,程序員發(fā)現(xiàn)他們需要更多傳統(tǒng)語(yǔ)言(比如C++和Java)提供的工具。這些工具包括傳統(tǒng)的數(shù)據(jù)結(jié)構(gòu)(如鏈表,棧,隊(duì)列,圖等),...
摘要:排序代碼實(shí)現(xiàn)和一概念排序算法的穩(wěn)定性穩(wěn)定性穩(wěn)定排序算法會(huì)讓原本有相等鍵值的紀(jì)錄維持相對(duì)次序。交換的結(jié)果導(dǎo)致結(jié)點(diǎn)的值變化了,重復(fù),,的操作,直到?jīng)]有孩子時(shí)跳出代碼實(shí)現(xiàn)構(gòu)建初始堆堆排序算法思想大頂堆舉例將待排序的序列構(gòu)造成一個(gè)大頂堆。 排序 代碼實(shí)現(xiàn):Java 和 Python 一、概念 1.1 排序算法的穩(wěn)定性 穩(wěn)定性:穩(wěn)定排序算法會(huì)讓原本有相等鍵值的紀(jì)錄維持相對(duì)次序。也就是如果一個(gè)排序...
摘要:排序代碼實(shí)現(xiàn)和一概念排序算法的穩(wěn)定性穩(wěn)定性穩(wěn)定排序算法會(huì)讓原本有相等鍵值的紀(jì)錄維持相對(duì)次序。交換的結(jié)果導(dǎo)致結(jié)點(diǎn)的值變化了,重復(fù),,的操作,直到?jīng)]有孩子時(shí)跳出代碼實(shí)現(xiàn)構(gòu)建初始堆堆排序算法思想大頂堆舉例將待排序的序列構(gòu)造成一個(gè)大頂堆。 排序 代碼實(shí)現(xiàn):Java 和 Python 一、概念 1.1 排序算法的穩(wěn)定性 穩(wěn)定性:穩(wěn)定排序算法會(huì)讓原本有相等鍵值的紀(jì)錄維持相對(duì)次序。也就是如果一個(gè)排序...
閱讀 3713·2021-11-11 11:00
閱讀 2189·2021-10-08 10:05
閱讀 2702·2021-10-08 10:04
閱讀 3218·2021-09-30 09:48
閱讀 3800·2021-09-27 14:10
閱讀 1710·2021-09-09 09:33
閱讀 2106·2019-08-30 15:55
閱讀 1610·2019-08-30 13:53