Advertisement
Guest User

Untitled

a guest
May 19th, 2019
86
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.72 KB | None | 0 0
  1. #include<stdio.h>
  2. int insertion_sort(int a[],int n)
  3. {
  4. int i,j,key;
  5.  
  6. for(j=1;j<n;j++)
  7. {
  8. key = a[j];
  9. i=j-1;
  10. while(i>=0 && a[i]>key)
  11. {
  12. a[i+1]=a[i];
  13. i=i-1;
  14. }
  15. a[i+1]=key;
  16. }
  17. for(i=0;i<n;i++)
  18. {
  19. printf("%d ",a[i]);
  20. }
  21. }
  22. int bin_search(int a[],int n)
  23. {
  24. int i,key,end,mid;
  25. printf("Enter your key: ");
  26. scanf("%d",&key);
  27. i=0;
  28. end = n-1;
  29. mid = ((i+end)/2);
  30. while(i<=end && a[mid]!= key)
  31. {
  32. if(key<a[mid])
  33. {
  34. end = mid-1;
  35. }
  36. else i = mid+1;
  37.  
  38. mid =(i+end)/2;
  39. }
  40. if(i>end)
  41. {
  42. return -1;
  43. }
  44. return mid;
  45. }
  46. int lin_search(int a[],int n)
  47. {
  48. int i,key;
  49. printf("Enter your key: ");
  50. scanf("%d",&key);
  51. for(i=0;i<n;i++)
  52. {
  53. if(a[i] == key)
  54. {
  55. return i;
  56. }
  57. }
  58. return -1;
  59. }
  60. void menu()
  61. {
  62. int n,i,o,pos2;
  63. printf("How many inputs: ");
  64. scanf("%d",&n);
  65. int a[n];
  66. printf("Enter your numbers: ");
  67. for(i=0;i<n;i++)
  68. {
  69. scanf("%d",&a[i]);
  70. }
  71. printf("1. Linear Search.\n");
  72. printf("2. Binary Search.\n");
  73. scanf("%d",&o);
  74. if(o == 1)
  75. {
  76. int pos2 = lin_search(a,n);
  77. if(pos2==-1)
  78. {
  79. printf("Not found\n");
  80. }
  81. else printf("position is : %d\n",pos2);
  82. }
  83. else if(o == 2)
  84. {
  85. printf("Array is not sorted!\n");
  86. insertion_sort(a,n);
  87. printf("\n");
  88. int pos1 = bin_search(a,n);
  89. printf("position is %d\n",pos1);
  90. }
  91. else printf("Invalid input!!\n");
  92.  
  93. }
  94. int main()
  95. {
  96. menu();
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement