鱼C论坛

 找回密码
 立即注册
查看: 4596|回复: 4

初学小白被老师一个C语言数据结构直接吓傻了,求大神帮忙看看

[复制链接]
发表于 2017-6-12 09:04:16 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
小白表示才学了C没多久就被老师直接扔了个数据结构的大题,看完之后一脸懵逼 小白连数据结构的教学视频都没看完啊5555有没有大佬帮忙看看 代码如下:
/*
        源文件名:P1.cpp
        功能:顺序表操作
*/
#include <iostream.h>
#include <iomanip.h>
#include <conio.h>
#include <stdio.h>
#include <process.h>
#include <string.h>
#include <math.h>
#include <stdlib.h>

const max=10000;

struct SqList
{
        int data[max];         //存放元素的数组
        int length;            //当前长度
};

void init(SqList &list);
void display(SqList &list);
void insert(SqList &list,int,int);
void search(SqList &list,int);
void del(SqList &list,int);
void simpleSort(SqList &list);
void binarySearch(SqList &list,int);
void nzlist(SqList &list);

SqList list;

void main()
{
        char choice;
        int key;

        while (1)
        {
                system("cls");
                cout << "     学号: ****     姓名:***            \n ";  //cout就等价于printf
                cout << "\n\n\n\n";                             
                cout << "\t\t             顺序表操作  \n";
                cout << "\t\t======================================";
                cout << "\n\n";
                cout << "\t\t             1:初始化       \n";
                cout << "\t\t             2:显示         \n";
                cout << "\t\t             3:单个插入     \n";
                cout << "\t\t             4:查找         \n";
                cout << "\t\t             5:删除         \n";
                cout << "\t\t             6:简单选择排序 \n";
                cout << "\t\t             7:折半查找     \n";
                cout << "\t\t             8:逆置线性表   \n";
                cout << "\n";
                cout << "\t\t             0:退出         \n";
                cout << "\n";
                cout << "\t\t请选择:" << flush;

                choice = getch();
                system("cls");
               
                switch(choice)
                {
                        case '1':
                                init(list);
                                break;
                        case '2':
                                display(list);
                                break;
                        case '3':
                                //在wz出插入key
                                int wz;                               
                                insert(list,wz,key);
                                break;
                        case '4':
                                //请输入查找数
                                search(list,key);
                                break;
                        case '5':
                                //请输入要删除的数
                                del(list,key);
                                break;
                        case '6':
                                simpleSort(list);
                                break;               
                        case '7':
                //请输入要查找的数
                                binarySearch(list,key);
                                break;
                        case '8':
                nzlist(list);
                                break;
                        case '0':
                                exit(0);
                }
        }
}



//屏幕提示后,从键盘输入线性表长度和随机数种子,生成指定长度的线性表list
void init(SqList &list)
{
        int i;
        while (1)
        {
                printf("输入元素个数(0 - %d ):\n",max);
                scanf("%d",&list.length);
                if (list.length >= 0 && list.length <= max)
                        break;
                printf("\n");
        }
        while (1)
        {            
                printf("输入随机数种子(0-32767):\n");
                scanf("%d",&i);
                if (i >= 0 && i <= 32767)
                        break;
                printf("\n");
        }
        srand(i);  //指定随机数种子,相同的种子将产生相同的数据序列
        rand();

        for (i = 0; i < list.length; i++)
        {
                list.data[i] = rand() % 10000;
        }
        for (i = list.length; i < max; i++)
                list.data[i] = 0;
}

//在屏幕上依次显示线性表list中的元素个数和全部元素
void display(SqList &list)
{
       
}

//屏幕提示后,从键盘输入一个元素值以及需要插入的位置,然后把这个新元素插到线性表list的指定位置处
//应有溢出判断和报告
void insert(SqList &list,int wz,int x)
{
}

//屏幕提示后,在线性表list中搜索这个元素key,若存在该元素,则给出位置信息,
//  否则,显示“不存在此数!”
//屏幕显示搜索结果和搜索过程中的比较次数
void search(SqList &list,int key)
{

}

//屏幕提示后,在线性表list中删除这个元素key,并显示相关信息
//屏幕显示删除成功与否的信息,并显示比较次数和移动次数
void del(SqList &list,int key)
{

}

//对线性表list进行简单选择排序
//屏幕显示比较次数和移动次数
void simpleSort(SqList &list)
{

}


//屏幕提示后,对经过排序的线性表list进行折半查找这个元素key
//屏幕显示查找结果,并显示比较次数
void binarySearch(SqList &list,int key)
{

}

//编程实现一个顺序表的就地逆置,即利用原表的存储空间将顺序表逆置。
void nzlist(SqList &list)
{
  
}


/* 必做题:

  8、有序插入(显示比较次数、移动次数),
       屏幕提示后,从键盘输入一个元素值,在经过排序的线性表中插入这个元素;
       屏幕显示比较次数和移动次数,应有溢出判断和报告。

  9、编程实现将两个非递减的顺序表进行合并,要求同样的数据元素只出现一次;

  10、请分别编程实现下面排序算法(1)直接插入排序(2)冒泡排序;
       (3)shell排序(步长为5,3,1);(4)快速排序;
           (5)堆排序算法;(6)归并算法;

*/

/*

  选做题: 利用三元组顺序表存储矩阵,实现矩阵的转置(请独立写程序实现)

*/
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

 楼主| 发表于 2017-6-12 11:02:59 | 显示全部楼层
请问下各位大佬Dev c++是不是并不支持所有头文件啊?我在Dev运行时提示iostream.h和iomanip.h都错误……
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2017-6-19 15:56:40 | 显示全部楼层
头文件错误估计是用了C源文件来编译。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 1 反对 0

使用道具 举报

发表于 2017-6-26 20:47:49 | 显示全部楼层
这是c++的编写的吧
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2017-8-18 02:20:52 From FishC Mobile | 显示全部楼层
cout用错了
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2024-4-20 04:21

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表