線形探索の番兵法で、配列の中から特定の数値があるか探索するプログラムを見つけたのですが、文法的によく分からないところがあります。
return i == n ? -1 : i; と書いてあるのですが、これってどういう意味なのでしょうか。
分かりましたら教えてください。
C#
1using System; 2using System.Collections.Generic; 3using System.Linq; 4using System.Text; 5using System.Threading.Tasks; 6 7namespace ConsoleApplication2 8{ 9 class Program 10 { 11 static int seqSearchSen(int[] a, int n, int key) 12 { 13 int i = 0; 14 15 a[n] = key; 16 17 while (true) 18 { 19 if(a[i] == key) 20 break; 21 i++; 22 } 23 return i == n ? -1 : i; 24 } 25 26 public static void Main(string[] args) 27 { 28 Console.Write("要素数:"); 29 int num = int.Parse(Console.ReadLine()); 30 int[] x = new int [num + 1]; 31 32 for(int i = 0; i < num; i++) 33 { 34 Console.Write("x[" + i + "]:"); 35 x[i] = int.Parse(Console.ReadLine()); 36 } 37 38 Console.Write("探す値:"); 39 int ky = int.Parse(Console.ReadLine()); 40 41 int idx = seqSearchSen(x, num, ky); 42 43 if (idx == -1) 44 Console.WriteLine("その値の要素は存在しません。"); 45 else 46 Console.WriteLine("その値はx[" + idx + "]にあります。"); 47 } 48 } 49}
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2017/08/02 23:02