<< Chapter < Page Chapter >> Page >
int a[100];int i, n; int max;printf("\n Enter the size of the array: "); scanf("%d",&n); // Read the number of elements of the arrayfor(i = 0; i<n; i++) {printf("\n a[%d] = ",i);scanf("%d",&a[i]);} // Find the maximum elementmax = a[0]; // max is initialized by a[0]// compare max to other elements for(i = 1; i<n; i++) if(max<a[i]) //meet an element greater than maxmax = a[i]; // replace max by the new value from the elements.printf("\n The maximum element of the array is: %d", max);

Searching

The simplest type of searching process is the sequential search. In the sequential search, each element of the array is compared to the key, in the order it appears in the array, until the first element matching the key is found. If you are looking for an element that is near the front of the array, the sequential search will find it quickly. The more data that must be searched, the longer it will take to find the data that matches the key using this process.

here is the sample session with the above program

#include<stdio.h>#include<conio.h>void main() {int m[100], idx[100]; int n; // n is the actual size of the arrayint i, k, test; clrscr(); // clear screen// Read array m // Read the actual size of mprintf(“ Enter the number of elements scanf(“%d”,&n); // Read array’s elementsfor(i = 0;i<n;i++) {int temp; printf(“\n Enter the value of m[%d]= “,i); scanf(“%d”,&temp); m[i]= temp; }// Read the searching key k printf(“\n Enter the value you want to search : “);scanf(“%d”,&k); // Begin searchingtest = 0; // Scan all the elementsfor(i = 0;i<n;i++) if(m[i]= = k)//Compare the current element with the //searching key k{ // save the index of the current element idx[test]= i; test ++;} // Conclusionif(test>0) {printf(“\n there are %d elements which has the value of %d”,test,k); printf(“\n Indexes of those elements: “);for(i = 0;i<test;i++) printf(“%3d”,idx[i]); }else printf(“\n No element has the value %d”,k);getch(); // Wait until the user press any key }

Sorting

Selection sort is a sorting algorithm, specifically an in-place comparison sort. Selection sort is noted for its simplicity, and also has performance advantages over more complicated algorithms in certain situations. It works as follows:

  • Find the minimum value in the list
  • Swap it with the value in the first position
  • Repeat the steps above for remainder of the list (starting at the second position)

Effectively, we divide the list into two parts: the sublist of items already sorted, which we build up from left to right and is found at the beginning, and the sublist of items remaining to be sorted, occupying the remainder of the array.

Here is an example of this sort algorithm sorting five elements:

31 25 12 22 11 11 25 12 22 3111 12 25 22 31 11 12 22 25 31 #include<stdio.h>#include<conio.h>void main() {int m[100];//100 is the maximum size for array mint n; // n is the number of elements int i, j, k; clrscr(); // clear screen// Read the elements of array m // Read the actual size of the arrayprintf(“ Enter the number of elements: “); scanf(“%d”,&n); // Read array elementsfor(i = 0;i<n;i++) {int temp; printf(“\n Enter the value of m[%d]= “,i); scanf(“%d”,&temp); m[i]= temp; }// Print the array printf(“\n The array before sorting: “);for(i=0;i<n;i++) printf(“%3d”,m[i]); // Begin to sortfor(i = 0; i<n-1;i++) {// Put the minimum value in the list of n-i elements //to the ith positionfor(j = i+1;j<n;j++) {// compare m[i] with other element of the sublist// and swap m[i] and m[j]if m[j]<m[i].if(m[j]<m[i]){ int temp;temp = m[j]; m[j]= m[i]; m[i]= temp; }} // Print the array after the i+1 th step of sorting processprintf(“\n The array after step %d”,i+1); for(k = 0;k<n ;k++) printf(“%3d”,m[k]); }getch(); // Wait until the user press any key. }

Get Jobilize Job Search Mobile App in your pocket Now!

Get it on Google Play Download on the App Store Now




Source:  OpenStax, Introduction to computer science. OpenStax CNX. Jul 29, 2009 Download for free at http://cnx.org/content/col10776/1.1
Google Play and the Google Play logo are trademarks of Google Inc.

Notification Switch

Would you like to follow the 'Introduction to computer science' conversation and receive update notifications?

Ask