【資料結構】天勤線性表思考題2.1
阿新 • • 發佈:2019-02-13
有N個個位正整數存放在int整型陣列A中,N定義為已經定義的常亮N<=9,陣列長度為N,另給一個int型變數i,要求只用上述變數,寫一個演算法,找出N個整數中的最小者,並且要求不能破壞陣列資料。
思路:i作為變數,這個變數的百位用於儲存最小值地址,十位用來儲存最小值,個位用於當前指向的地址。
#define length 9 void findMin(int data[]) { int min = data[0] * 10;//這個變數的百位用於儲存最小值地址,十位用來儲存最小值,個位用於當前指向的地址 while (min % 10 < length)//個位數,指向當前掃描地址 { if (data[min % 10] < min % 100 / 10)//與十位數(最小值)做比較,如果data比較小 { min = (min % 10) * 100 + data[min % 10] * 10 + min % 10; } min++;//當前位置前進一格 } cout << "最小值陣列下標為:" << min/100 << endl; cout << "最小值為:" << min % 100 / 10 << endl; }