给定一个字符串数组arr[]。使用气泡排序对给定字符串进行排序,并显示排序后的数组。
null
在里面 气泡排序 ,每当arr[i]>arr[i+1]时,就会交换两个连续的字符串arr[i]和arr[i+1]。较大的值下沉到底部,因此称为下沉排序。在每个过程结束时,较小的值逐渐“冒泡”到顶部,因此称为冒泡排序。
经过所有的过程后,我们将所有字符串按顺序排列。上述算法的复杂度为O(N 2. ).
让我们看看代码片段:
C++
// C++ implementation #include<bits/stdc++.h> using namespace std; #define MAX 100 void sortStrings( char arr[][MAX], int n) { char temp[MAX]; // Sorting strings using bubble sort for ( int i=0; i<n-1; i++) { for ( int j=0; j<n-1-i; j++) { if ( strcmp (arr[j], arr[j+1]) > 0) { strcpy (temp, arr[j]); strcpy (arr[j], arr[j+1]); strcpy (arr[j+1], temp); } } } } int main() { char arr[][MAX] = { "GeeksforGeeks" , "Quiz" , "Practice" , "Gblogs" , "Coding" }; int n = sizeof (arr)/ sizeof (arr[0]); sortStrings(arr, n); printf ( "Strings in sorted order are : " ); for ( int i=0; i<n; i++) printf ( " String %d is %s" , i+1, arr[i]); return 0; } |
JAVA
// Java implementation class GFG { static int MAX = 100 ; public static void sortStrings(String[] arr, int n) { String temp; // Sorting strings using bubble sort for ( int j = 0 ; j < n - 1 ; j++) { for ( int i = j + 1 ; i < n; i++) { if (arr[j].compareTo(arr[i]) > 0 ) { temp = arr[j]; arr[j] = arr[i]; arr[i] = temp; } } } } // Driver code public static void main(String[] args) { String[] arr = { "GeeksforGeeks" , "Quiz" , "Practice" , "Gblogs" , "Coding" }; int n = arr.length; sortStrings(arr, n); System.out.println( "Strings in sorted order are : " ); for ( int i = 0 ; i < n; i++) System.out.println( "String " + (i + 1 ) + " is " + arr[i]); } } // This code is contributed by // sanjeev2552 |
C#
// C# implementation using System; class GFG { static int MAX = 100; public static void sortStrings(String[] arr, int n) { String temp; // Sorting strings using bubble sort for ( int j = 0; j < n - 1; j++) { for ( int i = j + 1; i < n; i++) { if (arr[j].CompareTo(arr[i]) > 0) { temp = arr[j]; arr[j] = arr[i]; arr[i] = temp; } } } } // Driver code public static void Main(String[] args) { String[] arr = { "GeeksforGeeks" , "Quiz" , "Practice" , "Gblogs" , "Coding" }; int n = arr.Length; sortStrings(arr, n); Console.WriteLine( "Strings in sorted order are : " ); for ( int i = 0; i < n; i++) Console.WriteLine( "String " + (i + 1) + " is " + arr[i]); } } // This code is contributed by Princi Singh |
输出:
Strings in sorted order are : String 1 is Coding String 2 is Gblogs String 3 is GeeksforGeeks String 4 is Practice String 5 is Quiz
本文由 拉胡尔·阿格拉瓦尔 .如果你喜欢GeekSforgek,并想贡献自己的力量,你也可以写一篇文章,然后将文章邮寄给评论-team@geeksforgeeks.org.看到你的文章出现在Geeksforgeks主页上,并帮助其他极客。 如果您发现任何不正确的地方,或者您想分享有关上述主题的更多信息,请写评论
© 版权声明
文章版权归作者所有,未经允许请勿转载。
THE END