// portable code to count the number of bits
#include <;stdio.h>
int count(unsigned int x)
{
int n = 0;
while (x > 0)
{
x = x&;(x-1);
n = n + 1;
}
return n;
}
عنوان | پاسخ | بازدید | توسط |
دانلود جزوه ی سیستم عامل پیشرفته استاد برومند نیا | 0 | 2858 | admin |
دانلود نمونه سوالات درس طراحی الگوریتم پیشرفته | 0 | 1721 | admin |
دانلود نمونه سوالات درس سیستم عامل پیشرفته | 0 | 3768 | admin |
دانلود جزوه سیستم عامل پیشرفته - استاد زیاری | 0 | 2078 | admin |
اسلاید های درس سیستم عامل پیشرفته :: دکتر برومند نیا | 0 | 1869 | admin |
// portable code to count the number of bits
#include <;stdio.h>
int count(unsigned int x)
{
int n = 0;
while (x > 0)
{
x = x&;(x-1);
n = n + 1;
}
return n;
}
#include<;stdio.h>
#define SIZE 100
void mergesort(int, int a[]);
int main()
{
int a[SIZE];
int i, n;
printf("No of elements to be sorted:n");
scanf("%d",&n);
printf("Enter the elements:n");
for(i=0;i<n;i++)
scanf("%d",&;a[i]);
printf("Unsorted list:n");
for(i=0;i<n;i++)
printf("%d",a[i]);
printf("n");
mergesort(n, &;a);
printf("Sorted list:n");
for(i=0;i<n;i++)
printf("%d ",a[i]);
printf("n");
return 0;
}
void mergesort(int n, int a[])
{
int n1, n2, i, j, k;
int a1[n];
int *a2, *a3;
for (i=0;i<n;i++)
a1[i] = a[i];
if (n%2 == 0)
n1 = n/2;
else
n1 = n/2 + 1;
n2 = n - n1;
if (n >; 2)
{
mergesort(n1, &;a1);
mergesort(n2, &;a1[n1]);
}
j = k = 0;
a2 = &a1;
a3 = &;a1[n1];
for (i=0;i<n;i++)
{
if (k == n2)
{
a[i] = *(a2+j);
j++;
}
else if (j == n1)
{
a[i] = *(a3+k);
k++;
}
else if(*(a2+j) <;= *(a3+k))
{
a[i] = *(a2+j);
j++;
}
else
{
a[i] = *(a3+k);
k++;
}
}
}
تعداد صفحات : 6