重頭到尾遍歷陣列,直到找到需要的資料。
優點:操作簡單。
缺點:效率低,當陣列很大時十分耗時。
每次查詢都可以縮短一半的查詢範圍,效率高。
缺點:只適用於有序排列的陣列。
首先找到該數要插入的位置,再將這個位置後的所有數的位置向後移一位,最後將這個數插入。
找到要刪除的資料的位置,從它開始,將後面的資料向前覆蓋,實現陣列資料的刪除。
定義乙個新陣列,將不刪除的資料放入新陣列。
思路:將陣列中每個元素與第乙個元素比較,如果這個元素小於第乙個元素, 則交換這兩個元素。迴圈查詢,每次找出最小元素,放於第 1 個位置,經過 n-1 輪比較完成排序
思路:比較相鄰的元素,將小(大)的放到前面。
不懂。
#include#define n 100001
int check(int n);
int main()
else
return 0;
}int check(int n)
else
}return 0;
}
#include int main()
; int i, j, max = 0, k;
scanf("%d", &n);
for (i = 0; i < n; i++)
scanf("%d", &a[i]);
for (i = 0; i < n; i++)
for (j = 0; j < n; j++)
for (i = 0; i < n; i++)
} printf("%d %d\n", a[k], max);
return 0;
}
對於一維陣列和二維陣列的學習有些明白,但是對於字元陣列實在是懵。還有對於一些題目,雖然做出來了,但是**非常多,應該能找到更簡潔的方法去寫。
#include#define n 201
int main()
輸出字串
return 0;
}
#include#define n 201
int main()
s[i] = '\0';
for (i = 0; s[i] != '\0'; i++)
for (i = 0; i < 200; i++) }
return 0;
}
輸入資料
輸出資料
說明全空格
乙個空格
全空格==--ccbbaa;;''
'-;=abc
有其他字元
部分正確:只考慮了字母和數字的情況,沒有考慮其他字元的輸入與重複。也沒有考慮全空格的情況。
char a[n];//大數a
char b[n];//大數b
int n=1,m=1,i,j,k;//迴圈變數
int x, y;
int z;
a[0] = '0';//考慮進製
b[0] = '0';;//考慮進製
#include#include#define m 1002
#define n 1003
int main()
a[n] = '\0';
while ((b[m] = getchar()) != '\n')
b[m] = '\0';
j = n-1;
i = m - 1;
if (n>=m)
else break;}}
else a[j] = (x + y) + '0';
j--;
} if (a[0] != '0')
else
}} else
else break;}}
else b[i] = (x + y) + '0';
i--;
} if (b[0] != '0')
else
} }
return 0;
}
輸入資料
輸出資料
說明99、1
100檢驗是否進製
1、99
100a的位數小於b
答案錯誤:沒有考慮a的位數比b來得少。
int static hash[100001];//定義乙個雜湊陣列來表示資料是否出現過
#include#define n 100001
int check(int n);
int main()
else
return 0;
}int check(int n)
else
}return 0;
}
輸入資料
輸出資料
說明1 2 3 4 5 1
yes最後乙個有重複
部分正確:使用逐一查詢的方法來判斷是否有重複資料,浪費了時間,還導致了段錯誤。改用以空間換時間的方法來重寫**。
#includeint main(void)
} else if (direction == 1)
}else if (direction == 2)
}else if (direction == 3)
}} for (int i = 0; i < n; i++)
printf("\n");
}}
這個螺旋方針題目的解法令我眼前一亮,它用生動形象的注釋,將乙個複雜的問題形象化、簡單化,我想,自己寫**是否也能像這樣子靈動。同時它也讓我知道了**並不一定是枯燥的
,它只要加上一點注釋,就可以變得很優美。
C語言部落格作業04 陣列
一維陣列 二維陣列 字元陣列 一維陣列 200分 二維陣列 105分 字元陣列 150分 總分 455分 在一大堆資料中找出重複的是一件經常要做的事情。現在,我們要處理許多整數,在這些整數中,可能存在重複的資料。你要寫乙個程式來做這件事情,讀入資料,檢查是否有重複的資料。如果有,輸出 yes 這三個...
C語言部落格作業04 陣列
請以思維導圖總結本週的學習內容。如下圖所示 描述本週學習感受,也可以在這裡提出你不理解地方 對教師教學建議等等。在excel中畫如下 儲存好,複製到部落格隨筆。注意要累計所有 量。貼圖展示。填寫3次題目集的總得分。注意,請把pta 展示給批閱助教,並能完整回答助教問題,才能得滿分。否則根據回答情況給...
C語言部落格作業04 陣列
while 上限 下限 中間值 上限 下限 2 如果 中間值等於所查詢的數 找到資料,退出迴圈 如果 數 中間值 下限 中間值的前一位 否則 上限 中間值後一位 end while 輸入資料 for 遍歷陣列 如果 找到所插入數的位置 該位置往後資料右移一位,該位置賦值為插入的數 end for 輸...