vc 6.0下实现位图排序
来源:互联网 发布:mac触碰板 编辑:程序博客网 时间:2024/05/21 05:20
先把源程序贴出来:
版本一:
#include <iostream.h>
#include <malloc.h>
#include <stdlib.h>
#include <stdio.h>
#include <iomanip.h>
#include <ctime>
#include <windows.h>
int map[8]={1,2,4,8,16,32,64,128};
int Random()
{
int result1,result2;
//srand((unsigned)time(0));
result1=rand();
//cout<<setiosflags(ios::left)<<setw(15)<<result1;
result2=rand();
//cout<<setiosflags(ios::right)<<setw(15)<<result2;
return ((result1<<16)+result2);
}
void InPut_Map(char *mapbase,int size)
{
int data;
int i;
char *p;
p=mapbase;
for(i=0;i<size;i++)
{
//srand((unsigned)time(0));
data=Random();
//cin>>data;
p+=data/8;
(*p)=(*p)|(map[data%8]);
p=mapbase;
//Sleep(1000);
}
}
void output(char * mapbase)
{
int i,j;
int count=0;
char *p=mapbase;
cout<<"After sorted,the number is:"<<endl;
for(i=0;i<0x1fffffff;i++)
{
p=mapbase+i;
for(j=0;j<8;j++)
if(((*p)&(map[j]))!=0)
{
if(count%5==0)
cout<<endl;
cout<<setiosflags(ios::left)<<setw(15)<<(8*i+j);
count++;
}
}
}
void main()
{
int size;
char *mapbase;
cout<<0xffffffff;
cout<<"Please input the number'size:";
cin>>size;
if(size>0)
{
if(!(mapbase=(char *)calloc(0x1fffffff,sizeof(char))))
{
cout<<"The memory is not enough"<<endl;
exit(0);
}
InPut_Map(mapbase,size);
}
else
{
cout<<"Size is invalided"<<endl;
exit(0);
}
output(mapbase);
free(mapbase);
}
版本二:
#include <iostream.h>
#include <malloc.h>
#include <stdlib.h>
#include <stdio.h>
#include <iomanip.h>
#include <ctime>
#include <windows.h>
int map[32]={
0x00000001,0x00000002,0x00000004,0x00000008,
0x00000010,0x00000020,0x00000040,0x00000080,
0x00000100,0x00000200,0x00000400,0x00000800,
0x00001000,0x00002000,0x00004000,0x00008000,
0x00010000,0x00020000,0x00040000,0x00080000,
0x00100000,0x00200000,0x00400000,0x00800000,
0x01000000,0x02000000,0x04000000,0x08000000,
0x10000000,0x20000000,0x40000000,0x80000000
};
int Random()
{
int result1,result2;
//srand((unsigned)time(0));
result1=rand();
//cout<<setiosflags(ios::left)<<setw(15)<<result1;
result2=rand();
//cout<<setiosflags(ios::right)<<setw(15)<<result2;
return ((result1<<16)+result2);
}
void InPut_Map(int *mapbase,int size)
{
int data;
int i;
int *p;
p=mapbase;
for(i=0;i<size;i++)
{
//srand((unsigned)time(0));
data=Random();
p+=data/32;
(*p)=(*p)|(map[data%32]);
p=mapbase;
//Sleep(1000);
}
}
void output(int * mapbase)
{
int i,j;
int count=0;
int *p=mapbase;
cout<<"After sorted,the number is:"<<endl;
for(i=0;i<0x07ffffff;i++)
{
p=mapbase+i;
for(j=0;j<32;j++)
if(((*p)&(map[j]))!=0)
{
if(count%5==0)
cout<<endl;
cout<<setiosflags(ios::left)<<setw(15)<<(32*i+j);
count++;
}
}
}
void main()
{
int size;
int *mapbase;
cout<<0xffffffff;
cout<<"Please input the number'size:";
cin>>size;
if(size>0)
{
if(!(mapbase=(int *)calloc(0x07ffffff,sizeof(int))))
{
cout<<"The memory is not enough"<<endl;
exit(0);
}
InPut_Map(mapbase,size);
}
else
{
cout<<"Size is invalided"<<endl;
exit(0);
}
output(mapbase);
free(mapbase);
}
- vc 6.0下实现位图排序
- VC 6.0位图排序第二个版本
- 6.VC(ui)-MFC下实现透明位图
- VC 透明位图 实现透明位图类
- VC实现BMP位图实现
- 位图排序基本实现
- Go实现位图排序
- VC 实现拉伸位图 笔记
- C#实现位图排序算法
- C++实现位图排序实例
- 利用VC++实现WIN95/NT下位图淡入淡出的二种技巧
- (转)VC下的位图特效
- VC++实现位图显示透明效果
- VC++实现位图显示透明效果
- VC++实现位图显示透明效果
- VC通过位图,来实现Slider控件
- vc实现透明位图,透明背景
- VC用AlphaBlend实现半透明位图
- Struts+Spring+Hibernate练习(完整)
- SQL按照逗号截取
- 《计算机语言妙语录 软件就像性一样》的解读
- 解决Spring2.0向spring2.5迁移的问题(转)
- FusionChart 的javascript 用法
- vc 6.0下实现位图排序
- 关于希尔排序
- Spring常用Interface&Class
- Windows 自旋锁分析
- 子类实例初始化父类(接口)对象
- gphone更改gtalk, gmail账号的方法
- 如何理解LPCTSTR类型?
- 我来学技术
- J2ME从零开始(学习笔记2)