- 浏览: 12499 次
- 性别:
- 来自: 广州
最新评论
-
梅陇菜粿:
加油!
排序--------简单排序 -
中国小虫:
排序--------简单排序 -
中国小虫:
不小心按错了···但是想了想···有错有需要··让网友找哈· ...
矩阵乘法--------斐波那契
文章列表
p { margin-bottom: 0.21cm; }
信号量:通过
PV
操作输出
ABAB····
修改:initsem.c
#include
"pv.h"
int
initsem(key_t key
,
int
initVal
)
{
int status = 0, semid;
if((semid = semget(key,1,SEMPERM|IPC_CREAT|IPC_EXCL)) == - ...
//--------希尔排序---------
int part_sort(int *a, int lenght, int k)
{
int i = 0, j, c;
int temp;
while(i++ < k)
{
for(j = i; j < lenght; j = j + k)
{
for(c = j ; c >= i; c=c-k)
{
if( a[c] < a[c-k])
{
temp = a[c];
a[c] = a[c-k];
a[c-k] = t ...
//下面的算法是快速排序的原形,霍尔排序
#include<stdio.h>
int q(int *a, int n, int m)
{
int low = n, high = m;
int temp = a[low];
int i;
while (low < high)
{
while(low < high && a[high] >= temp)
{
--high;
}
...
//-------堆排序---------//
void HeapAdjust(int *a, int i, int Length)
{
int Child;
int Temp;
for (Temp = a[i]; 2 * i + 1 < Length; i = Child)
{
Child = 2 * i + 1;
if (Child < Length - 1 && a[Child + 1] > a[Child])
{
++Child;
}
if (Temp < a[Child])
...
在求斐波那契数列数列前,我们先看看如何进行矩阵相乘。
//-------矩阵相乘-----//
int multi_matrix(int **a, int n, int m, int **b, int l, int **c)
{
int i, j, k;
for(i = 0; i < n; i++)
{
for(k = 0; k < l; k++)
{
c[i][k] = 0;
for(j = 0; j < m; j++)
{
c[i][k]=c[i][k]+a[i][j]*b[j][k];
}
...
先把代码贴上来先,网友们如果发现有啥错误,直说哈。至于原理,会跟另一个版本的一起贴上来。
/*-------exchange----------
函数名 :exchange;
功能 : 进行两个的交换;
参数 : 进行比较的两个数的指针;
返回值 : 为空;
-------------------------*/
void exchange(int *a, int *b)
{
int t;
t = *a;
*a = *b;
*b = t;
}
/*-------part_s ...
/*-------冒泡排序----------
函数名: bubble_sort
功能 : 实现升序排序
参数 : 带排序的数组,数组的长度
返回值 :为空
描述:时间复杂度为O(n^2),辅助空间为O(1);
有一种变形的冒泡排序-- 鸡尾酒排序,
它是双向的冒泡排序,时间复杂度也为O(n^2).
-------------------------*/
void bubble_sort(int *bubble, int Length)
{
int i,j;
int temp;
int count;
count = ...
通过看斐波那契数列来看分治跟动态规划的区别,所耗费的时间动态规划的可以达到O(N)的时间复杂度。
/*//婓波那契----分治//
#include<stdio.h>
int F(int n)
{
if(n == 1||n == 2)
{
return 1;
}
return F(n-1) + F(n-2);
}
int main(void)
{
int n;
while(scanf("%d", &n) != EOF)
{
printf("%d\n&qu ...
//-------将小数转为最简分数------//
/* 输入的小数的格式为0.ab(c)括号里面代表循环部分。
如果是有限小数的话:0.25=25*100,然后利用最大公约数的方法,对25/100进行化简;
如果是循环小数的话:0.abcDEFDEF。。。。。。可以:
100*0.abcDEFDEF。。。。=abc.DEFDEF。。。。
100000*0.abcDEFDEF。。。。=abcDEF,DEFDEF。。。。
*/
#include<stdio.h>
#include<math.h>
//GCD ...
这个是转的···
输入输出流
在Java中,我们把能够读取一个字节序列的对象称作一个输入流;而我们把够写一个字节序列称作一个输出流。它们分别由抽象类
InputStream和OutputStream类表示。因为面向字节的流不方便用来处理存储为 ...