Initial data commit
This commit is contained in:
parent
72d218235f
commit
f23f22d71c
199087 changed files with 3378941 additions and 0 deletions
|
|
@ -0,0 +1,42 @@
|
|||
program Combsort_Demo
|
||||
implicit none
|
||||
|
||||
integer, parameter :: num = 20
|
||||
real :: array(num)
|
||||
|
||||
call random_seed
|
||||
call random_number(array)
|
||||
write(*,*) "Unsorted array:-"
|
||||
write(*,*) array
|
||||
write(*,*)
|
||||
call combsort(array)
|
||||
write(*,*) "Sorted array:-"
|
||||
write(*,*) array
|
||||
|
||||
contains
|
||||
|
||||
subroutine combsort(a)
|
||||
|
||||
real, intent(in out) :: a(:)
|
||||
real :: temp
|
||||
integer :: i, gap
|
||||
logical :: swapped = .true.
|
||||
|
||||
gap = size(a)
|
||||
do while (gap > 1 .or. swapped)
|
||||
gap = gap / 1.3
|
||||
if (gap < 1) gap = 1
|
||||
swapped = .false.
|
||||
do i = 1, size(a)-gap
|
||||
if (a(i) > a(i+gap)) then
|
||||
temp = a(i)
|
||||
a(i) = a(i+gap)
|
||||
a(i+gap) = temp;
|
||||
swapped = .true.
|
||||
end if
|
||||
end do
|
||||
end do
|
||||
|
||||
end subroutine combsort
|
||||
|
||||
end program Combsort_Demo
|
||||
Loading…
Add table
Add a link
Reference in a new issue