关闭

随机产生,排序,合并,逆序

170人阅读 评论(0) 收藏 举报
分类:
随机产生,排序,合并,逆序
#include<stdio.h>
#include<stdlib.h>
#include<time.h>
#define N 50
void sui(int str[],int n){
int i,j,b;
    int f;
for (i=0;i<n;i++){
f=1;
b=rand()%90+10;
for (j=0;j<i;j++){
if (b==str[j])
f=0;
}
if (f){
str[i]=b;
}
}
}
void sort(int str[],int n){
int t,i,j;
for (i=1;i<n;i++){
t=str[i]; 
for (j=i-1;j>=0&&str[j]>t;j--){
str[j+1]=str[j];
}
str[j+1]=t;
}
}
void output(int str[],int n){
int i;
for(i=0;i<n;i++){
printf("%5d",str[i]);
}
printf("\n");
}

void A(int a[],int b[],int m,int n,int c[],int *p){
int i,j,k;
i=j=k=0;
while(i<m&&j<n){
if(a[i]<b[j])
c[k++]=a[i++];
   else if(a[i]>b[j])
    c[k++]=b[j++];
   else{
    c[k++]=a[i++];
    j++;
}
}
while(i<m){
c[k++]=a[i++];
}
while(j<n){
c[k++]=b[j++];
}
*p=k;
}
void reserve(int a[],int x){
int i;
for (i=x-1;i>=0;i--){
printf("%5d",a[i]);
}
}
int main(){
int a[N],b[N],c[N],m,n,x;
printf("输入a数组的个数:\n");
scanf("%d",&m);
sui(a,m);
sort(a,m);
output(a,m);
printf("输入b数组的个数:\n");
scanf("%d",&n);
sui(b,n);
sort(b,n);
output(b,n);
A(a,b,m,n,c,&x);
reserve(c,x);
return 0;
}

1
0
查看评论

对List顺序,逆序,随机排列实例代码

package Test;import java.util.Collections;import java.util.LinkedList;import java.util.List;public class Teeee ...{...
  • fegor
  • fegor
  • 2007-05-02 12:48
  • 7767

hihoCoder-随机产生数字并排序

随机产生20个数并排序输出 程序如下: package pack; import java.util.HashSet; import java.util.Iterator; import java.util.Random; impo...
  • sjtu_chenchen
  • sjtu_chenchen
  • 2015-04-20 16:25
  • 1022

数据结构与算法-实验5-自动产生随机数,并实现对数的排序

#include  #include  #include  #include  using namespace std;   void SimpleRandDemo(int s[],int ...
  • qq_19995883
  • qq_19995883
  • 2016-11-07 09:48
  • 556

在SQL和Access中使数据随机排序

  1.在SQL server中使用随机函数newID()和RAND()示例:SELECT TOP 10 * FROM Northwind Orders ORDER BY NEWID()说明...
  • mallva
  • mallva
  • 2007-12-24 11:43
  • 2865

自动生成随机数测试归并排序

#include #include //数组大小 #define N 100 //随机数的最大值 #define max 100 void merge(int a[],int p,int x,int q,int b[]){ int i = p, r = x + 1, k=p; //保...
  • xyzpqre
  • xyzpqre
  • 2016-10-15 21:41
  • 414

生成1到n的随机排列(C++实现)

主要思想:随机生成一个数组a[],将数组 a[] 排序后,排序后的数组中的数据在原来数组中的位置所组成的一个序列即为1  到 n 的一个随机排列 源码: #include"iostream" #include"ctime" #include"...
  • cighao
  • cighao
  • 2015-10-12 12:58
  • 3287

随机产生10个2位正整数 然后排序

public static void main(String[] args) { // 随机产生10个2位正整数 然后排序 Random rd = new Random(); int[] array = new int[10]; ...
  • lsxIT
  • lsxIT
  • 2015-07-31 20:03
  • 314

C++大随机整数的产生,排序和查找

这里想记录一个之前遇到的一个很有意思的与大随机数相关的问题,也是自己长时间琢磨出来的结果,这里想分享一下; 首先给出问题(很短,其实就一句话):          生成N=10^12个范围在0~10^8之间的整数,并找出其中第N/2大和第N/4大的数...
  • u010842413
  • u010842413
  • 2014-03-10 00:44
  • 2114

《多线程的练习—排序问题——Java第十四周》

/* (程序头部注释开始) * 程序的版权和版本声明部分 * Copyright (c) 2011, 烟台大学计算机学院学生 * All rights reserved. * 文件名称:   《多线程的练习—排序问题——Java第十四周》  ...
  • sdliujiangbo
  • sdliujiangbo
  • 2012-12-03 21:35
  • 11120

数据结构课程设计之排序综合

题目:**实现功能: 利用随机函数产生N个随机整数(20000以上),对这些数进行多种方法进行排序。 要求: 1) 至少采用三种方法实现上述问题求解(提示,可采用的方法有插入排序、希尔排序、起泡排序、快速排序、选择排序、堆排序、归并排序)。并把排序后的结果保存...
  • qq_39360985
  • qq_39360985
  • 2018-01-04 09:11
  • 91
    个人资料
    • 访问:35008次
    • 积分:1283
    • 等级:
    • 排名:千里之外
    • 原创:90篇
    • 转载:0篇
    • 译文:0篇
    • 评论:0条
    阅读排行