1.存放字符串數組的方法:
①使用二維數組char str[size][length],第一維指定字符串的數量,第二維指定字符串的長度,讀入時,只需要將內容寫入第一維,例如cin >> str[i]
②使用string類型,先加入頭文件string,然後就可以定義字符串類型的變量,string變量還可以作爲字符數組使用。
2.如果已知一些字符串和它們的逆序,要求按照逆序的升序排列字符串,就涉及到帶有關聯關係的排序問題,這裏有一個好的解決辦法是對逆序採用選擇排序,每次找出逆序中的最小值,然後輸出逆序對應的字符串,接着給這個最小的逆序值賦一個大於數組中任何數的值,再在數組中尋找最小值。爲了簡化問題,假設這些字符串的長度相等。實現代碼如下:
#define NX_MAX 0XFFFFFF //用於賦值給逆序數組中的最小值 int string_count; //字符串的數量 int string_length; //字符串的長度 char string_table[string_count][string_length]; //假設字符串已經錄入,注意,實際中不能這 //樣給數組開闢內存空間,應該先預定義一個較大的數組 int nx_table[string_count]; //假設對應於上面數組的逆序已經求出 int i,j; int min_index = 0; //存儲最小的逆序索引 for(i = 0; i < string_count; i++) { for(j = 0; j < string_count; j++) if(nx_table[j] < nx_table[min_index]) min_index = j; cout << string_table[min_index] << endl; nx_table[min_index] = NX_MAX; //關鍵的一句,將已使用的逆序賦爲不會再被找出的值 }